印度包网
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

478 lines
13 KiB

package superpay
const (
baseURL = "http://mch.superpay.pw"
tokenURL = "/api/anon/auth/validate/v2"
payURL = "/api/pay/payOrders"
queryPayURL = "/api/payOrder"
withdrawURL = "/api/mchTransfers/doTransfer"
queryWithdrawURL = "/api/transferOrders"
appID = "6761532760b2d2f1779099c3"
mid = "M1734431527"
key = "jSXrzG3kNL33qDQSVH7J8q8jcT4DmfhWcgPr3OfXve3u4ecFpApcOkzkIy2Uc52N9WizuKJN5sWhWLh7q1CGEwqMNtKcTJy8k8jN9sUZA7ejfpRoaeNBjChKVYAqSmAd"
)
var (
iToken = ""
)
type TokenReq struct {
// 登录名
Ia string `json:"ia"`
// 密码
IP string `json:"ip"`
}
type TokenResp struct {
// 业务响应码
Code int64 `json:"code"`
// 数据对象
Data map[string]string `json:"data"`
// 业务响应信息
Msg string `json:"msg"`
}
// type TokenRespData struct {
// // 授权码
// IToken map[string]interface{} `json:" iToken"`
// }
type PayReq struct {
// 支付金额
Amount string `json:"amount"`
// 应用ID
AppID string `json:"appId"`
// 商品描述信息
Body string `json:"body"`
// 特定渠道额外支付参数
ChannelExtra ChannelExtra `json:"channelExtra"`
// 货币代码
Currency string `json:"currency"`
// 分账模式(默认"0")
DivisionMode string `json:"divisionMode"`
// 商户号
MchNo string `json:"mchNo"`
// 商户订单号
MchOrderNo string `json:"mchOrderNo"`
// 异步通知地址
NotifyURL string `json:"notifyUrl"`
// 跳转通知地址
ReturnURL string `json:"returnUrl"`
// 备注:
// 1、一般情况下填写商品标题
Subject string `json:"subject"`
// 支付方式(见附录)
WayCode string `json:"wayCode"`
}
// 特定渠道额外支付参数
type ChannelExtra struct {
// cashApp DIJNF_USA_H5或DIJNF_USA_QR 可选填cashApp标签
BuyerTag string `json:"buyerTag"`
// 用户证件号(巴基斯坦支付通道必填)
IDCardNumber string `json:"idCardNumber"`
// 真实名称
Realname string `json:"realname"`
// 邮箱号码
UserEmail string `json:"userEmail"`
// 用户ip
UserIP string `json:"userIp"`
// 手机号码
UserMobile string `json:"userMobile"`
}
/*
代收订单状态码
code 中文返回信息
PAID 已支付(有回调)
UN_PAYD 待支付
SUBMITTED_FAILED 提交失败
PAY_FAILED 支付失败
CANCEL_PAY 取消支付
*/
type PayResp struct {
// 响应码
Code int64 `json:"code"`
Data PayRespData `json:"data"`
// 响应信息
Msg string `json:"msg"`
}
type PayRespData struct {
// 渠道返回错误代码
ErrCode string `json:"errCode"`
// 渠道返回错误信息
ErrMsg string `json:"errMsg"`
// 商户单号(商户系统生成)
MchOrderNo string `json:"mchOrderNo"`
// 订单状态
// 支付状态: 0-订单生成, 1-支付中, 2-支付成功, 3-支付失败, 4-已撤销, 5-已退款, 6-订单关闭
OrderState int64 `json:"orderState"`
// 支付参数
PayData string `json:"payData"`
// 支付参数类型
PayDataType string `json:"payDataType"`
// 支付单号(网关生成)
PayOrderID string `json:"payOrderId"`
}
type PayCallbackReq struct {
// 支付金额,单位分
Amount int64 `json:"amount"`
// 商户应用ID
AppId string `json:"appId"`
// 商品描述信息
Body string `json:"body"`
// 渠道订单号
ChannelOrderNo string `json:"channelOrderNo"`
// 客户端IP
ClientIp string `json:"clientIp"`
// 创建时间
CreatedAt string `json:"createdAt"`
// 三位货币代码,卢比INR
Currency string `json:"currency"`
// 渠道支付错误码
ErrCode string `json:"errCode"`
// 渠道支付错误描述
ErrMsg string `json:"errMsg"`
// 商户扩展参数
EXTParam string `json:"extParam"`
// 支付接口代码
IfCode string `json:"ifCode"`
// 商户号
MchNo string `json:"mchNo"`
// 商户订单号
MchOrderNo string `json:"mchOrderNo"`
// 支付订单号
PayOrderId string `json:"payOrderId"`
// 请求时间
ReqTime string `json:"reqTime"`
// md5签名
Sign string `json:"sign"`
// 支付状态: 0-订单生成, 1-支付中, 2-支付成功, 3-支付失败, 4-已撤销, 5-已退款, 6-订单关闭
State string `json:"state"`
// 商品标题
Subject string `json:"subject"`
// 订单支付成功时间
SuccessTime string `json:"successTime"`
// 支付方式代码
WayCode string `json:"wayCode"`
}
type QueryPayReq struct {
// MchNo string `json:"mchNo"` // 商家号
// Sign string `json:"sign"` // 签名
// OrderNo string `json:"orderNo"` // 平台订单号
}
type QueryPayResp struct {
Code int64 `json:"code"`
Data QueryPayRespData `json:"data"`
Msg string `json:"msg"`
}
type QueryPayRespData struct {
// 支付金额
Amount int64 `json:"amount"`
// 应用ID
AppID string `json:"appId"`
// 商品描述信息
Body string `json:"body"`
// 特定渠道额外参数
ChannelExtra string `json:"channelExtra"`
// 渠道订单号
ChannelOrderNo string `json:"channelOrderNo"`
// 渠道用户标识
ChannelUser string `json:"channelUser"`
// 客户端IP
ClientIP string `json:"clientIp"`
// 创建时间
CreatedAt string `json:"createdAt"`
// 三位货币代码
Currency string `json:"currency"`
// 最新分账时间
DivisionLastTime string `json:"divisionLastTime"`
// 订单分账模式
DivisionMode int64 `json:"divisionMode"`
// 订单分账状态
DivisionState int64 `json:"divisionState"`
// 渠道支付错误码
ErrCode string `json:"errCode"`
// 渠道支付错误描述
ErrMsg string `json:"errMsg"`
// 订单失效时间
ExpiredTime string `json:"expiredTime"`
// 商户扩展参数
EXTParam string `json:"extParam"`
// 支付接口代码
IfCode string `json:"ifCode"`
// 服务商号
ISVNo string `json:"isvNo"`
// 商户手续费
MchFeeAmount int64 `json:"mchFeeAmount"`
// 商户手续费费率快照
MchFeeRate float64 `json:"mchFeeRate"`
// 商户名称
MchName string `json:"mchName"`
// 商户号
MchNo string `json:"mchNo"`
// 商户订单号
MchOrderNo string `json:"mchOrderNo"`
// 商户实收
MchReceiptsAmount int64 `json:"mchReceiptsAmount"`
// 商户类型
MchType int64 `json:"mchType"`
// 向下游回调状态
NotifyState int64 `json:"notifyState"`
// 异步通知地址
NotifyURL string `json:"notifyUrl"`
// 支付订单号
PayOrderID string `json:"payOrderId"`
// 退款总金额
RefundAmount int64 `json:"refundAmount"`
// 退款状态
RefundState int64 `json:"refundState"`
// 退款次数
RefundTimes int64 `json:"refundTimes"`
// 页面跳转地址
ReturnURL string `json:"returnUrl"`
// 支付状态
State int64 `json:"state"`
// 商品标题
Subject string `json:"subject"`
// 订单支付成功时间
SuccessTime string `json:"successTime"`
// 更新时间
UpdatedAt string `json:"updatedAt"`
// 支付方式代码
WayCode string `json:"wayCode"`
}
/*
代付订单状态码
code 中文返回信息
PROCESSED 已处理
PAID 已支付(有回调)
UN_PAYD 待支付
UN_SUBMITTED 未提交
SUBMITTED_FAILED 提交失败(有回调)
PAY_FAILED 支付失败(有回调)
CANCEL_PAY 取消支付(有回调)
PAYING 支付中
*/
type WithdrawReq struct {
// 收款人姓名
AccountName string `json:"accountName"`
// 收款账号
AccountNo string `json:"accountNo"`
// 转账金额
Amount string `json:"amount"`
// 应用ID
AppID string `json:"appId"`
// 特定渠道额外支付参数
ChannelExtra WithdrawReqChannelExtra `json:"channelExtra"`
// 货币代码
Currency string `json:"currency"`
// 入账方式
EntryType string `json:"entryType"`
// 附加参数
// 备注:印度RVJDL支付传json字符串如:"{\"test\":\"123\"}"
// 其他支付不传这个字段
EXTParam string `json:"extParam"`
// 支付接口代码
IfCode string `json:"ifCode"`
// 商户号
MchNo string `json:"mchNo"`
// 商户订单号
MchOrderNo string `json:"mchOrderNo"`
// 异步通知地址
NotifyURL string `json:"notifyUrl"`
// 转账备注信息
TransferDesc string `json:"transferDesc"`
}
// 特定渠道额外支付参数
type WithdrawReqChannelExtra struct {
// EMAIL/PHONE/CPF/CNPJ/RANDOM(巴西-银行卡方式)
AccountType string `json:"accountType"`
// 收款人开户行名称
// 备注:
// gbtupay原生支付 填写银行代码,如:CUB
// Lfsfpay印尼原生支付 填写银行代码,如:dana
// 银行代码 (备注:是Bank Codes) 请参考附录
BankName string `json:"bankName"`
// 巴西-银行卡方式
Cpf string `json:"cpf"`
// 邮箱号码
Email string `json:"email"`
// 印度-银行卡方式
// 备注:印度RVJDL支付 ifsc必填:如 PUNB000000
// 印度- gbtupay原生支付
// ifsc填IFSC号码如:UTIB0000897
Ifsc string `json:"ifsc"`
// 手机号码
Mobile string `json:"mobile"`
// 印度-upi方式
Upi string `json:"upi"`
}
const (
BankCard = "BANK_CARD"
IndiaUpiUtr = "INDIA_UPI_UTR"
)
type WithdrawResp struct {
// 业务响应码
Code int64 `json:"code"`
// 数据对象
Data WithdrawRespData `json:"data"`
// 业务响应信息
Msg string `json:"msg"`
}
// 数据对象
type WithdrawRespData struct {
// 收款人姓名
AccountName string `json:"accountName"`
// 收款账号
AccountNo string `json:"accountNo"`
// 代付金额
Amount int64 `json:"amount"`
// 收款人开户行名称
BankName string `json:"bankName"`
// 渠道返回错误代码
ErrCode string `json:"errCode"`
// 渠道返回错误信息
ErrMsg string `json:"errMsg"`
// 商户单号(商户系统生成)
MchOrderNo string `json:"mchOrderNo"`
// 订单状态:0-订单生成, 1-转账中, 2-转账成功, 3-转账失败, 4-订单关闭
State int64 `json:"state"`
// 代付订单号
TransferID string `json:"transferId"`
}
type WithdrawCallbackReq struct {
// 收款人姓名
AccountName string `json:"accountName"`
// 收款账号
AccountNo string `json:"accountNo"`
// 代付金额,单位分
Amount string `json:"amount;"`
// 应用ID
AppID string `json:"appId"`
// 收款人开户行名称
BankName string `json:"bankName"`
// 特定渠道发起额外参数
ChannelExtra string `json:"channelExtra"`
// 渠道订单号
ChannelOrderNo string `json:"channelOrderNo"`
// 创建时间
CreatedAt string `json:"createdAt"`
// 三位货币代码,印度卢比INR
Currency string `json:"currency"`
// 入账方式: BANK_CARD-银行卡;INDIA_UPI_UTR印度UPI
EntryType string `json:"entryType"`
// 渠道支付错误码
ErrCode string `json:"errCode"`
// 渠道支付错误描述
ErrMsg string `json:"errMsg"`
// 商户扩展参数
EXTParam string `json:"extParam"`
// 支付接口代码
IfCode string `json:"ifCode"`
// 请求时间戳
LongReqTime string `json:"long reqTime"`
// 商户号
MchNo string `json:"mchNo"`
// 商户订单号
MchOrderNo string `json:"mchOrderNo"`
// 报文签名
Sign string `json:"sign"`
// 支付状态: 0-订单生成, 1-转账中, 2-转账成功, 3-转账失败, 4-订单关闭
State int64 `json:"state"`
// 转账成功时间
SuccessTime string `json:"successTime"`
// 转账备注信息
TransferDesc string `json:"transferDesc"`
// 代付订单号
TransferID string `json:"transferId"`
}
type QueryWithdrawReq struct {
}
type QueryWithdrawResp struct {
// 返回码
Code int64 `json:"code"`
Data QueryWithdrawRespData `json:"data"`
// 返回信息
Msg string `json:"msg"`
}
type QueryWithdrawRespData struct {
// 收款人姓名
AccountName string `json:"accountName"`
// 收款账号
AccountNo string `json:"accountNo"`
// 转账金额
Amount int64 `json:"amount"`
// 应用ID
AppID string `json:"appId"`
// 收款人开户行名称
BankName string `json:"bankName"`
// 特定渠道发起额外参数
ChannelExtra QueryWithdrawRespDatahannelExtra `json:"channelExtra"`
// 渠道订单号
ChannelOrderNo string `json:"channelOrderNo"`
// 客户端IP
ClientIP string `json:"clientIp"`
// 创建时间
CreatedAt string `json:"createdAt"`
// 三位货币代码
Currency string `json:"currency"`
// 入账方式
EntryType string `json:"entryType"`
// 渠道支付错误码
ErrCode string `json:"errCode"`
// 渠道支付错误描述
ErrMsg string `json:"errMsg"`
// 商户扩展参数
EXTParam string `json:"extParam"`
// 支付接口代码
IfCode string `json:"ifCode"`
// 服务商号
ISVNo string `json:"isvNo"`
// 商户名称
MchName string `json:"mchName"`
// 商户号
MchNo string `json:"mchNo"`
// 商户订单号
MchOrderNo string `json:"mchOrderNo"`
// 商户类型
MchType int64 `json:"mchType"`
// 异步通知地址
NotifyURL string `json:"notifyUrl"`
// 支付状态
State int64 `json:"state"`
// 代付成功时间
SuccessTime string `json:"successTime"`
// 代付备注信息
TransferDesc string `json:"transferDesc"`
// 代付订单号
TransferID string `json:"transferId"`
// 更新时间
UpdatedAt string `json:"updatedAt"`
}
// 特定渠道发起额外参数
type QueryWithdrawRespDatahannelExtra struct {
// 账号类型
AccountType string `json:"accountType"`
// 用户CPF
Cpf string `json:"cpf"`
// 用户IFSC
Ifsc string `json:"ifsc"`
// upi
Upi string `json:"upi"`
}