印度包网
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

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