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.
117 lines
7.8 KiB
117 lines
7.8 KiB
|
1 year ago
|
package grepay
|
||
|
|
|
||
|
|
const (
|
||
|
|
payURL = "https://api.metagopayments.com/cashier/pay.ac"
|
||
|
|
withdrawURL = "https://paypout.metagopayments.com/cashier/TX0001.ac"
|
||
|
|
oid = "8240601257"
|
||
|
|
mid = "24061200002795"
|
||
|
|
key = "1B5B3E0FE86054BD16F15C29CF4AC0B3"
|
||
|
|
)
|
||
|
|
|
||
|
|
type PayReq struct {
|
||
|
|
Version string `json:"version"` // 版本号,固定值:2.1
|
||
|
|
OrgNo string `json:"orgNo"` // 机构号,平台下发的机构编号
|
||
|
|
CustId string `json:"custId"` // 商户编号,平台提供的商户编号
|
||
|
|
CustOrderNo string `json:"custOrderNo"` // 商户订单编号,客户方生成的订单编号,不能重复
|
||
|
|
TranType string `json:"tranType"` // 交易类型(传数字编码) 0512
|
||
|
|
ClearType string `json:"clearType"` // 清算方式,传数字编码,默认为01
|
||
|
|
PayAmt int `json:"payAmt"` // 支付金额, 单位是分(整数)
|
||
|
|
BackUrl string `json:"backUrl"` // 后台回调地址,支付完成时回调客户方结果接收地址
|
||
|
|
FrontUrl string `json:"frontUrl"` // 前台回调地址,支付结果同步通知到前端
|
||
|
|
// BankCode string `json:"bankCode"` // 银行编码,可选字段
|
||
|
|
GoodsName string `json:"goodsName"` // 商品名称,不可使用中文
|
||
|
|
OrderDesc string `json:"orderDesc"` // 订单描述,不可使用中文
|
||
|
|
BuyIp string `json:"buyIp"` // 购买者IP,商户提交订单的IP
|
||
|
|
UserName string `json:"userName"` // 付款人姓名,不可用中国的用户名
|
||
|
|
UserEmail string `json:"userEmail"` // 付款人邮箱,不可用中国的邮箱
|
||
|
|
UserPhone string `json:"userPhone"` // 付款人手机号,不可用中国的手机号
|
||
|
|
// UserCitizenId string `json:"userCitizenId,omitempty"` // 巴西唯一税号(CPF/CNPJ),特殊交易类型必填
|
||
|
|
// UserDeviceId string `json:"userDeviceId,omitempty"` // 用户设备ID,可选字段
|
||
|
|
CountryCode string `json:"countryCode"` // 国家编码,固定值: BR
|
||
|
|
Currency string `json:"currency"` // 币种,固定值: BRL
|
||
|
|
// City string `json:"city,omitempty"` // 商户用户的城市名称,可选字段
|
||
|
|
// Street string `json:"street,omitempty"` // 商户用户的街道名称,可选字段
|
||
|
|
// HouseNumber string `json:"houseNumber,omitempty"` // 商户用户的门牌号,可选字段
|
||
|
|
Sign string `json:"sign"` // 签名,根据规则加签后的结果
|
||
|
|
}
|
||
|
|
|
||
|
|
type PayResp struct {
|
||
|
|
OrgNo string `json:"orgNo"` // 机构编号,平台下发的机构编号
|
||
|
|
OrdStatus string `json:"ordStatus,omitempty"` // 订单状态,可选字段
|
||
|
|
Code string `json:"code"` // 请求接口状态返回码
|
||
|
|
Msg string `json:"msg"` // 返回描述
|
||
|
|
CustId string `json:"custId"` // 平台提供的商户编号
|
||
|
|
CustOrderNo string `json:"custOrderNo"` // 商户订单编号
|
||
|
|
PrdOrdNo string `json:"prdOrdNo,omitempty"` // 平台订单号,可作为查询依据的订单号,订单处理成功时返回
|
||
|
|
ContentType string `json:"contentType,omitempty"` // 业务内容类型,可选字段
|
||
|
|
BusContent string `json:"busContent,omitempty"` // 订单处理成功时返回的业务内容,如支付页面的URL链接
|
||
|
|
OrdDesc string `json:"ordDesc,omitempty"` // 状态描述,订单状态存在时,描述状态代表的含义
|
||
|
|
Sign string `json:"sign"` // 签名,根据规则加签后的结果
|
||
|
|
}
|
||
|
|
|
||
|
|
type PayCallbackReq struct {
|
||
|
|
Version string `json:"version"` // 版本号,返回和支付接口上送的一致
|
||
|
|
OrgNo string `json:"orgNo"` // 机构编号,平台下发的机构编号
|
||
|
|
CustId string `json:"custId"` // 平台提供的商户编号
|
||
|
|
CustOrderNo string `json:"custOrderNo"` // 商户订单编号,客户方生成的订单编号, 不能重复
|
||
|
|
PrdOrdNo string `json:"prdOrdNo"` // 平台订单号,可作为查询依据
|
||
|
|
OrdAmt string `json:"ordAmt"` // 订单金额,单位为分
|
||
|
|
OrdTime string `json:"ordTime"` // 订单时间,格式: yyyyMMddHHmmss
|
||
|
|
PayAmt string `json:"payAmt"` // 支付金额,单位为分
|
||
|
|
OrdStatus string `json:"ordStatus"` // 订单状态
|
||
|
|
Sign string `json:"sign"` // 签名,根据规则加签以后的结果
|
||
|
|
}
|
||
|
|
|
||
|
|
type WithdrawReq struct {
|
||
|
|
Version string `json:"version"` // 版本号,固定值:2.1
|
||
|
|
OrgNo string `json:"orgNo"` // 机构编号,平台下发的机构编号
|
||
|
|
CustId string `json:"custId"` // 平台提供的商户编号
|
||
|
|
CustOrdNo string `json:"custOrdNo"` // 商户订单编号,客户方生成的订单编号,不能重复
|
||
|
|
CasType string `json:"casType"` // 清算类型,固定值00(T0结算)
|
||
|
|
Country string `json:"country"` // 国家编码,固定值:BR
|
||
|
|
Currency string `json:"currency"` // 币种编码,固定值:BRL
|
||
|
|
CasAmt int64 `json:"casAmt"` // 代付金额,单位是分
|
||
|
|
DeductWay string `json:"deductWay"` // 手续费扣除方式,固定值02:账户余额中扣除
|
||
|
|
CallBackUrl string `json:"callBackUrl"` // 回调地址
|
||
|
|
Account string `json:"account"` // 代付子账户名称
|
||
|
|
PayoutType string `json:"payoutType"` // 代付类型,可选值:Card, PIX
|
||
|
|
AccountName string `json:"accountName"` // 收款人姓名
|
||
|
|
// PayeeBankCode string `json:"payeeBankCode,omitempty"` // 银行编码,payoutType为Card时必填
|
||
|
|
CardType string `json:"cardType"` // 代付类型的收款方式 cpf
|
||
|
|
// CnapsCode string `json:"cnapsCode,omitempty"` // 巴西通道分行代码
|
||
|
|
// CardNo string `json:"cardNo,omitempty"` // 银行卡号,payoutType为Card时必填
|
||
|
|
PanNum string `json:"panNum"` // PAN Card 编码,必须传CPF(个人)
|
||
|
|
WalletId string `json:"walletId"` // 电子钱包收款账号,payoutType为PIX时必填
|
||
|
|
// UpiId string `json:"upiId,omitempty"` // UPI 的收款账号,对接巴西渠道时为空
|
||
|
|
AccountType string `json:"accountType"` // 账户类型,默认值1:对私
|
||
|
|
Phone string `json:"phone"` // 收款人手机号
|
||
|
|
Email string `json:"email"` // 收款人邮箱
|
||
|
|
CasDesc string `json:"casDesc"` // 代付备注(禁止使用中文)
|
||
|
|
// AccountDigit string `json:"accountDigit,omitempty"` // 账户校验位,一般为银行卡最后一位校验位
|
||
|
|
Sign string `json:"sign"` // 签名,根据规则加签以后的结果
|
||
|
|
}
|
||
|
|
|
||
|
|
type WithdrawResp struct {
|
||
|
|
OrgNo string `json:"orgNo"` // 机构编号,平台下发的机构编号
|
||
|
|
OrdStatus string `json:"ordStatus,omitempty"` // 订单状态
|
||
|
|
Code string `json:"code"` // 请求接口返回码
|
||
|
|
Msg string `json:"msg"` // 返回描述
|
||
|
|
CustId string `json:"custId"` // 平台提供的商户编号
|
||
|
|
CustOrdNo string `json:"custOrdNo"` // 客户订单编号,原样返回
|
||
|
|
CasOrdNo string `json:"casOrdNo,omitempty"` // 平台订单号,可作为查询依据
|
||
|
|
CasAmt string `json:"casAmt"` // 代付金额,该字段值为100时则为1雷亚尔
|
||
|
|
CasTime string `json:"casTime"` // 代付时间,格式:yyyyMMddHHmmss
|
||
|
|
Sign string `json:"sign"` // 签名,根据规则加签以后的结果
|
||
|
|
}
|
||
|
|
|
||
|
|
type WithdrawCallbackReq struct {
|
||
|
|
OrgNo string `json:"orgNo"` // 机构编号,平台下发的机构编号
|
||
|
|
CustId string `json:"custId"` // 平台提供的商户编号
|
||
|
|
CustOrderNo string `json:"custOrderNo"` // 商户订单编号,客户方生成的订单编号,不能重复
|
||
|
|
PrdOrdNo string `json:"prdOrdNo"` // 平台订单号,作为查询依据
|
||
|
|
PayAmt string `json:"payAmt"` // 代付订单金额,单位是分
|
||
|
|
OrdStatus string `json:"ordStatus"` // 代付订单状态
|
||
|
|
CasDesc string `json:"casDesc"` // 代付单描述
|
||
|
|
Sign string `json:"sign"` // 签名,根据规则加签以后的结果
|
||
|
|
}
|