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
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"` |
|
}
|
|
|