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.
360 lines
11 KiB
360 lines
11 KiB
package propay |
|
|
|
const ( |
|
baseURL = "https://gtw.propay.one" |
|
payURL = "/api/pay/pay" |
|
queryPayURL = "/api/pay/query" |
|
withdrawURL = "/api/payout/pay" |
|
queryWithdrawURL = "/api/payout/query" |
|
mid = "M1733566601" |
|
key = "wLeTfuMzbit18bt9ahwgNNrXnRa1bQQL14FbfG43oPaugEORW6vIgMMXv0INTLlRfI7bkH1CnBeramA1ZD6lng5Arq2JUAH92Q9dzRBQptirmAPws6mCBtn9DxgRzsQF" |
|
appID = "67542089e4b09f5f18f4e276" |
|
) |
|
|
|
type PayReq struct { |
|
// 代收金额,单位 分 |
|
Amount int64 `json:"amount"` |
|
// 应用编号 |
|
AppID string `json:"appId"` |
|
// 客户邮箱 |
|
CustomerEmail string `json:"customerEmail"` |
|
// 客户姓名 |
|
CustomerName string `json:"customerName"` |
|
// 客户手机号 |
|
CustomerPhone string `json:"customerPhone"` |
|
// 商户号 |
|
MchNo string `json:"mchNo"` |
|
// 商户订单号 |
|
MchOrderNo string `json:"mchOrderNo"` |
|
// 异步通知地址,只有该字段有值才会发起回调 |
|
NotifyURL string `json:"notifyUrl"` |
|
// 同步跳转的地址 |
|
ReturnURL string `json:"returnUrl"` |
|
// 签名,详见签名算法 |
|
Sign string `json:"sign"` |
|
} |
|
|
|
type PayResp struct { |
|
// 返回状态,详见错误码 0-成功 其他-失败 |
|
Code int64 `json:"code"` |
|
// 返回数据 |
|
Data PayRespData `json:"data"` |
|
// 返回信息,错误原因 |
|
Msg string `json:"msg"` |
|
// 签名信息,data 为空时不返回 |
|
Sign string `json:"sign"` |
|
} |
|
|
|
// 返回数据 |
|
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"` |
|
// 支付参数类型,payUrl-跳转链接的方式 form-表单方式 codeUrl-二维码地址 codeImgUrl-二维码图片地址 none-空支付参数 |
|
PayDataType string `json:"payDataType"` |
|
// 代收订单号 |
|
PayOrderID string `json:"payOrderId"` |
|
} |
|
|
|
type PayCallbackReq struct { |
|
// 支付金额,单位分 |
|
Amount int64 `json:"amount"` |
|
// 应用编号 |
|
AppID string `json:"appId"` |
|
// 渠道订单号 |
|
ChannelOrderNo string `json:"channelOrderNo"` |
|
// 客户端ip |
|
ClientIP string `json:"clientIp"` |
|
// 创建时间,13 位时间戳 |
|
CreatedAt int64 `json:"createdAt"` |
|
// 货币代码,固定值 INR |
|
Currency string `json:"currency"` |
|
// 客户邮箱 |
|
CustomerEmail string `json:"customerEmail"` |
|
// 客户姓名 |
|
CustomerName string `json:"customerName"` |
|
// 客户手机号 |
|
CustomerPhone string `json:"customerPhone"` |
|
// 渠道错误码 |
|
ErrCode string `json:"errCode"` |
|
// 渠道错误描述 |
|
ErrMsg string `json:"errMsg"` |
|
// 支付编码 |
|
IfCode string `json:"ifCode"` |
|
// 商户号 |
|
MchNo string `json:"mchNo"` |
|
// 商户订单号 |
|
MchOrderNo string `json:"mchOrderNo"` |
|
// 代收订单号 |
|
PayOrderID string `json:"payOrderId"` |
|
// 通知请求时间,13 位时间戳 |
|
ReqTime int64 `json:"reqTime"` |
|
// 签名 |
|
Sign string `json:"sign"` |
|
// 订单状态 2-成功 3-失败 |
|
State int64 `json:"state"` |
|
// 支付方式 |
|
WayCode string `json:"wayCode"` |
|
} |
|
|
|
type QueryPayReq struct { |
|
// 应用编号 |
|
AppID string `json:"appId"` |
|
// 商户号 |
|
MchNo string `json:"mchNo"` |
|
// 商户订单号,与 payOrderId 二者传一即可 |
|
MchOrderNo string `json:"mchOrderNo"` |
|
// 代收订单号,与 mchOrderNo 二者传一即可 |
|
PayOrderID string `json:"payOrderId"` |
|
// 签名,详见签名算法 |
|
Sign string `json:"sign"` |
|
} |
|
|
|
type QueryPayResp struct { |
|
// 返回状态,详见错误码 0-成功 其他-失败 |
|
Code int64 `json:"code"` |
|
// 返回数据 |
|
Data QueryPayRespData `json:"data"` |
|
// 返回信息,错误原因 |
|
Msg string `json:"msg"` |
|
// 签名信息,data 为空时不返回 |
|
Sign string `json:"sign"` |
|
} |
|
|
|
// 返回数据 |
|
type QueryPayRespData struct { |
|
// 支付金额,单位分 |
|
Amount int64 `json:"amount"` |
|
// 应用编号 |
|
AppID string `json:"appId"` |
|
// 渠道订单号 |
|
ChannelOrderNo string `json:"channelOrderNo"` |
|
// 创建时间,13 位时间戳 |
|
CreatedAt int64 `json:"createdAt"` |
|
// 货币代码,固定值 INR |
|
Currency string `json:"currency"` |
|
// 客户邮箱 |
|
CustomerEmail string `json:"customerEmail"` |
|
// 客户姓名 |
|
CustomerName string `json:"customerName"` |
|
// 客户手机号 |
|
CustomerPhone string `json:"customerPhone"` |
|
// 渠道错误码 |
|
ErrCode string `json:"errCode"` |
|
// 渠道错误描述 |
|
ErrMsg string `json:"errMsg"` |
|
// 商户扩展参数 |
|
EXTParam string `json:"extParam"` |
|
// 商户号 |
|
MchNo string `json:"mchNo"` |
|
// 商户订单号 |
|
MchOrderNo string `json:"mchOrderNo"` |
|
// 代收订单号 |
|
PayOrderID string `json:"payOrderId"` |
|
// 订单状态,1-支付中 2-支付成功 3-支付失败 6-订单关闭 |
|
State int64 `json:"state"` |
|
// 成功时间,13 位时间戳 |
|
SuccessTime int64 `json:"successTime"` |
|
} |
|
|
|
type WithdrawReq struct { |
|
// 银行编码,收款账号或银行卡号 |
|
// 当entryType字段为UPI时,则该字段为收款人的Upi 账号。 |
|
// 当entryType字段为IMPS时,则该字段为收款人分行的IFSC代码。 |
|
AccountCode string `json:"accountCode"` |
|
// 收款人邮箱 |
|
AccountEmail string `json:"accountEmail"` |
|
// 收款人姓名 |
|
AccountName string `json:"accountName"` |
|
// 收款账号或银行卡号 |
|
AccountNo string `json:"accountNo"` |
|
// 收款人手机号 |
|
AccountPhone string `json:"accountPhone"` |
|
// 代付金额,单位 分 |
|
Amount int64 `json:"amount"` |
|
// 应用编号 |
|
AppID string `json:"appId"` |
|
// 收款账号开户行名称 |
|
BankName string `json:"bankName"` |
|
// 入账方式,IMPS或UPI (目前暂支持IMPS) |
|
EntryType string `json:"entryType"` |
|
// 商户号 |
|
MchNo string `json:"mchNo"` |
|
// 商户订单号 |
|
MchOrderNo string `json:"mchOrderNo"` |
|
// 异步通知地址,代付完成后会回调该 URL,只有该字段有值才会发起回调。 |
|
NotifyURL string `json:"notifyUrl"` |
|
// 签名,详见签名算法 |
|
Sign string `json:"sign"` |
|
// 备注信息,回调时原样返回 |
|
TransferDesc string `json:"transferDesc"` |
|
} |
|
|
|
type WithdrawResp struct { |
|
// 返回状态,详见错误码 0-成功 其他-失败 |
|
Code int64 `json:"code"` |
|
// 返回数据 |
|
Data WithdrawRespData `json:"data"` |
|
// 返回信息,错误原因 |
|
Msg string `json:"msg"` |
|
// 签名信息,data 为空时不返回 |
|
Sign string `json:"sign"` |
|
} |
|
|
|
// 返回数据 |
|
type WithdrawRespData struct { |
|
// 收款人姓名 |
|
AccountName string `json:"accountName"` |
|
// 收款账号 |
|
AccountNo string `json:"accountNo"` |
|
// 到账金额,扣除手续费后的实际到账金额,单位分 |
|
Amount int64 `json:"amount"` |
|
// 交易总金额,含手续费的总交易金额,单位分 |
|
AmountTo int64 `json:"amountTo"` |
|
// 渠道错误码,上游渠道返回的错误码 |
|
ErrCode string `json:"errCode"` |
|
// 渠道错误描述,上游渠道返回的错误描述 |
|
ErrMsg string `json:"errMsg"` |
|
// 手续费,单位分 |
|
MchFeeAmount int64 `json:"mchFeeAmount"` |
|
// 商户订单号 |
|
MchOrderNo string `json:"mchOrderNo"` |
|
// 转账状态,0-订单生成 1-转账中 2-转账成功 3-转账失败 4-转账关闭 |
|
State int64 `json:"state"` |
|
// 代付订单号 |
|
TransferID string `json:"transferId"` |
|
} |
|
|
|
type WithdrawCallbackReq struct { |
|
// 收款人邮箱 |
|
AccountEmail string `json:"accountEmail"` |
|
// 收款人姓名 |
|
AccountName string `json:"accountName"` |
|
// 收款账号 |
|
AccountNo string `json:"accountNo"` |
|
// 收款人手机号 |
|
AccountPhone string `json:"accountPhone"` |
|
// 到账金额,不含手续费,单位分 |
|
Amount int64 `json:"amount"` |
|
// 交易总金额,含手续费,单位分 |
|
AmountTo int64 `json:"amountTo"` |
|
// 应用编号 |
|
AppID string `json:"appId"` |
|
// 收款人开户行名称 |
|
BankName string `json:"bankName"` |
|
// UTR |
|
ChannelExtra string `json:"channelExtra"` |
|
// 渠道订单号 |
|
ChannelOrderNo string `json:"channelOrderNo"` |
|
// 创建时间,13 位时间戳 |
|
CreatedAt int64 `json:"createdAt"` |
|
// 货币代码,固定值 INR |
|
Currency string `json:"currency"` |
|
// 入账方式,固定值 IMPS |
|
EntryType string `json:"entryType"` |
|
// 渠道错误码 |
|
ErrCode string `json:"errCode"` |
|
// 渠道错误描述 |
|
ErrMsg string `json:"errMsg"` |
|
// 商户扩展参数 |
|
ExtraParam string `json:"extraParam"` |
|
// 支付接口 |
|
IfCode string `json:"ifCode"` |
|
// 手续费,单位分 |
|
MchFeeAmount int64 `json:"mchFeeAmount"` |
|
// 商户号 |
|
MchNo string `json:"mchNo"` |
|
// 商户转账订单号 |
|
MchOrderNo string `json:"mchOrderNo"` |
|
// 通知请求时间,13 位时间戳 |
|
ReqTime int64 `json:"reqTime"` |
|
// 签名 |
|
Sign string `json:"sign"` |
|
// 转账状态 2-成功 3-失败 |
|
State int64 `json:"state"` |
|
// 成功时间,13 位时间戳 |
|
SuccessTime int64 `json:"successTime"` |
|
// 代付订单号 |
|
TransferID string `json:"transferId"` |
|
// 支付编码 |
|
WayCode string `json:"wayCode"` |
|
} |
|
|
|
type QueryWithdrawReq struct { |
|
// 应用编号 |
|
AppID string `json:"appId"` |
|
// 商户号 |
|
MchNo string `json:"mchNo"` |
|
// 商户订单号,与 transferId 二者传一即可 |
|
MchOrderNo string `json:"mchOrderNo"` |
|
// 签名,详见签名算法 |
|
Sign string `json:"sign"` |
|
// 代付订单号,与 mchOrderNo 二者传一即可 |
|
TransferID string `json:"transferId"` |
|
} |
|
|
|
type QueryWithdrawResp struct { |
|
// 返回状态,详见错误码 0-成功 其他-失败 |
|
Code int64 `json:"code"` |
|
// 返回数据 |
|
Data QueryWithdrawRespData `json:"data"` |
|
// 返回信息,具体错误原因 |
|
Msg string `json:"msg"` |
|
// 签名信息,data 为空则不返回 |
|
Sign string `json:"sign"` |
|
} |
|
|
|
// 返回数据 |
|
type QueryWithdrawRespData struct { |
|
// 收款人邮箱 |
|
AccountEmail string `json:"accountEmail"` |
|
// 收款人姓名 |
|
AccountName string `json:"accountName"` |
|
// 收款账号 |
|
AccountNo string `json:"accountNo"` |
|
// 收款人手机号 |
|
AccountPhone string `json:"accountPhone"` |
|
// 到账金额,扣除手续费后的实际到账金额,单位分 |
|
Amount int64 `json:"amount"` |
|
// 交易总金额,含手续费,单位分 |
|
AmountTo int64 `json:"amountTo"` |
|
// 应用编号 |
|
AppID string `json:"appId"` |
|
// 收款人开户行名称 |
|
BankName string `json:"bankName"` |
|
// 渠道订单号 |
|
ChannelOrderNo string `json:"channelOrderNo"` |
|
// 创建时间,13 位时间戳 |
|
CreatedAt int64 `json:"createdAt"` |
|
// 货币代码,固定值 INR |
|
Currency string `json:"currency"` |
|
// 入账方式,固定值 IMPS |
|
EntryType string `json:"entryType"` |
|
// 渠道错误码 |
|
ErrCode string `json:"errCode"` |
|
// 渠道错误描述 |
|
ErrMsg string `json:"errMsg"` |
|
// 商户扩展参数 |
|
ExtraParam string `json:"extraParam"` |
|
// 手续费,单位分 |
|
MchFeeAmount int64 `json:"mchFeeAmount"` |
|
// 商户号 |
|
MchNo string `json:"mchNo"` |
|
// 商户订单号 |
|
MchOrderNo string `json:"mchOrderNo"` |
|
// 转账状态,0-订单生成 1-转账中 2-转账成功 3-转账失败 4-转账关闭 |
|
State int64 `json:"state"` |
|
// 成功时间,13 位时间戳 |
|
SuccessTime int64 `json:"successTime"` |
|
// 备注信息 |
|
TransferDesc string `json:"transferDesc"` |
|
// 代付订单号 |
|
TransferID string `json:"transferId"` |
|
}
|
|
|