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.
188 lines
9.3 KiB
188 lines
9.3 KiB
|
2 months ago
|
package feipay
|
||
|
|
|
||
|
|
const (
|
||
|
|
baseURL = "https://api.feipay.vip"
|
||
|
|
payURL = "/api/payInOrder"
|
||
|
|
queryPayURL = "/api/payInOrder/query"
|
||
|
|
withdrawURL = "/api/payOutOrder"
|
||
|
|
queryWithdrawURL = "/api/payOutOrder/query"
|
||
|
|
mid = "A6DA5E4C08414FBE9784065789A97DB8"
|
||
|
|
key = "QNrDpTBrIAmMdVsWCbzrzkcHet1hu9X43iyTkKFI8BUShaEJmTssvcOB8Sly6fr9"
|
||
|
|
payNo = "YS201"
|
||
|
|
withdrawNo = "YF201"
|
||
|
|
)
|
||
|
|
|
||
|
|
/*
|
||
|
|
PAID 已支付(有回调)
|
||
|
|
UN_PAYD 待支付
|
||
|
|
SUBMITTED_FAILED 提交失败
|
||
|
|
PAY_FAILED 支付失败
|
||
|
|
CANCEL_PAY 取消支付
|
||
|
|
*/
|
||
|
|
type PayReq struct {
|
||
|
|
PayAmount int64 `json:"payAmount"` // 交易金额
|
||
|
|
ChannelCode string `json:"channelCode"` // 通道编码
|
||
|
|
MerOrderNo string `json:"merOrderNo"` // 商家订单号
|
||
|
|
UserID string `json:"userId"` // 付款用户ID (可选)
|
||
|
|
UserBankAccount string `json:"userBankAccount"` // 用户付款账号 (可选)
|
||
|
|
UserName string `json:"userName"` // 付款用户名 (可选)
|
||
|
|
UserPhone string `json:"userPhone"` // 付款用户手机 (可选)
|
||
|
|
UserEmail string `json:"userEmail"` // 付款用户邮箱 (可选)
|
||
|
|
Attach string `json:"attach"` // 其它参数 (可选)
|
||
|
|
NotifyUrl string `json:"notifyUrl"` // 回调地址
|
||
|
|
CreateOrderTime string `json:"createOrderTime"` // 下单时间 (格式: 1999-01-01 00:00:01)
|
||
|
|
ReturnUrl string `json:"returnUrl"` // 同步跳转地址 (可选)
|
||
|
|
MerId string `json:"merId"` // 商户ID
|
||
|
|
UserIp string `json:"userIp"` // 用户真实IP地址 (可选)
|
||
|
|
UserDeviceId string `json:"userDeviceId"` // 用户设备唯一ID (可选)
|
||
|
|
Sign string `json:"sign"` // 签名
|
||
|
|
}
|
||
|
|
|
||
|
|
type PayResp struct {
|
||
|
|
Code string `json:"code"` // 响应状态
|
||
|
|
Msg string `json:"msg"` // 响应失败原因
|
||
|
|
MerId string `json:"merId"` // 商户号
|
||
|
|
ChannelCode string `json:"channelCode"` // 通道编码
|
||
|
|
MerOrderNo string `json:"merOrderNo"` // 商家订单号
|
||
|
|
// ShouldAmount *big.Float `json:"shouldAmount"` // 应收金额
|
||
|
|
// RealAmount *big.Float `json:"realAmount"` // 实收金额
|
||
|
|
// PayAmount *big.Float `json:"payAmount"` // 订单金额
|
||
|
|
OrderDate string `json:"orderDate"` // 订单时间
|
||
|
|
OrderNo string `json:"orderNo"` // 系统订单号
|
||
|
|
Status string `json:"status"` // 下单状态
|
||
|
|
PayUrl string `json:"payUrl"` // 付款链接
|
||
|
|
StandbyPayUrl string `json:"standbyPayUrl"` // 备用付款链接
|
||
|
|
Sign string `json:"sign"` // 签名
|
||
|
|
}
|
||
|
|
|
||
|
|
type PayCallbackReq struct {
|
||
|
|
OrderNo string `json:"orderNo"` // 系统订单号
|
||
|
|
// PayAmount *big.Float `json:"payAmount"` // 交易金额
|
||
|
|
// RealAmount *big.Float `json:"realAmount"` // 实收金额
|
||
|
|
// MerFee *big.Float `json:"merFee"` // 商家手续费
|
||
|
|
// MerSettle *big.Float `json:"merSettle"` // 商户结算金额
|
||
|
|
ChannelCode string `json:"channelCode"` // 通道编码
|
||
|
|
MerOrderNo string `json:"merOrderNo"` // 商家订单号
|
||
|
|
UserId string `json:"userId"` // 付款用户id
|
||
|
|
UserBankAccount string `json:"userBankAccount"` // 用户付款账号
|
||
|
|
Attach string `json:"attach"` // 其它参数, 可选
|
||
|
|
Status string `json:"status"` // 下单状态
|
||
|
|
CreateOrderTime string `json:"createOrderTime"` // 下单时间
|
||
|
|
ReturnUrl string `json:"returnUrl"` // 同步跳转地址
|
||
|
|
Code string `json:"code"` // 响应状态
|
||
|
|
Msg string `json:"msg"` // 响应失败原因
|
||
|
|
Sign string `json:"sign"` // 签名
|
||
|
|
}
|
||
|
|
|
||
|
|
type QueryPayReq struct {
|
||
|
|
MerId string `json:"merId"` // 商家号
|
||
|
|
Sign string `json:"sign"` // 签名
|
||
|
|
OrderNo string `json:"orderNo"` // 平台订单号
|
||
|
|
}
|
||
|
|
|
||
|
|
type QueryPayResp struct {
|
||
|
|
OrderNo string `json:"orderNo"` // 平台订单号
|
||
|
|
// PayAmount *big.Float `json:"payAmount"` // 交易金额
|
||
|
|
// RealAmount *big.Float `json:"realAmount"` // 实收金额
|
||
|
|
// MerFee *big.Float `json:"merFee"` // 商家手续费
|
||
|
|
// MerSettle *big.Float `json:"merSettle"` // 商户结算金额
|
||
|
|
ChannelCode string `json:"channelCode"` // 通道号
|
||
|
|
MerOrderNo string `json:"merOrderNo"` // 商家订单号
|
||
|
|
UserId string `json:"userId"` // 付款用户id
|
||
|
|
UserBankAccount string `json:"userBankAccount"` // 用户付款账号
|
||
|
|
Attach string `json:"attach"` // 其它参数
|
||
|
|
Status string `json:"status"` // 下单状态
|
||
|
|
CreateOrderTime string `json:"createOrderTime"` // 下单时间
|
||
|
|
ReturnUrl string `json:"returnUrl"` // 同步跳转地址
|
||
|
|
Code string `json:"code"` // 响应状态
|
||
|
|
Msg string `json:"msg"` // 响应失败原因
|
||
|
|
Sign string `json:"sign"` // 签名
|
||
|
|
}
|
||
|
|
|
||
|
|
/*
|
||
|
|
PROCESSED 已处理
|
||
|
|
PAID 已支付(有回调)
|
||
|
|
UN_PAYD 待支付
|
||
|
|
UN_SUBMITTED 未提交
|
||
|
|
SUBMITTED_FAILED 提交失败(有回调)
|
||
|
|
PAY_FAILED 支付失败(有回调)
|
||
|
|
CANCEL_PAY 取消支付(有回调)
|
||
|
|
PAYING 支付中
|
||
|
|
*/
|
||
|
|
type WithdrawReq struct {
|
||
|
|
PayAmount int64 `json:"payAmount"` // 交易金额
|
||
|
|
ChannelCode string `json:"channelCode"` // 通道号
|
||
|
|
MerId string `json:"merId"` // 商户号
|
||
|
|
MerOrderNo string `json:"merOrderNo"` // 商家订单号
|
||
|
|
PayType string `json:"payType"` // 支付类型
|
||
|
|
UserId string `json:"userId"` // 付款用户ID
|
||
|
|
UserBankAccount string `json:"userBankAccount"` // 用户收款账号
|
||
|
|
IfscCode string `json:"ifscCode"` // IMPS IFSC
|
||
|
|
UserName string `json:"userName"` // 收款用户名
|
||
|
|
UserPhone string `json:"userPhone"` // 收款用户手机
|
||
|
|
UserEmail string `json:"userEmail"` // 收款用户邮箱
|
||
|
|
FailReason string `json:"failReason"` // 失败原因
|
||
|
|
Attach string `json:"attach"` // 其它参数
|
||
|
|
NotifyUrl string `json:"notifyUrl"` // 回调地址
|
||
|
|
CreateOrderTime string `json:"createOrderTime"` // 下单时间
|
||
|
|
Sign string `json:"sign"` // 签名
|
||
|
|
}
|
||
|
|
|
||
|
|
type WithdrawResp struct {
|
||
|
|
MerId string `json:"merId"` // 商户号
|
||
|
|
MerOrderNo string `json:"merOrderNo"` // 商家订单号
|
||
|
|
SuperiorNo string `json:"superiorNo"` // 上游订单号
|
||
|
|
ShouldAmount string `json:"shouldAmount"` // 应付金额
|
||
|
|
RealAmount string `json:"realAmount"` // 实付金额(如失败金额为0)
|
||
|
|
PayAmount string `json:"payAmount"` // 订单金额
|
||
|
|
OrderDate string `json:"orderDate"` // 订单时间
|
||
|
|
OrderNo string `json:"orderNo"` // 平台订单号
|
||
|
|
RedirectUrl string `json:"redirectUrl"` // 支付地址, 当 payType 为 payurl 时返回
|
||
|
|
Status string `json:"status"` // 下单状态
|
||
|
|
Code string `json:"code"` // 响应状态
|
||
|
|
Msg string `json:"msg"` // 响应失败原因
|
||
|
|
Sign string `json:"sign"` // 签名
|
||
|
|
}
|
||
|
|
|
||
|
|
type WithdrawCallbackReq struct {
|
||
|
|
Code string `json:"code"` // 响应状态
|
||
|
|
Msg string `json:"msg"` // 响应失败原因
|
||
|
|
// PayAmount *big.Float `json:"payAmount"` // 交易金额
|
||
|
|
// RealAmount *big.Float `json:"realAmount"` // 实收金额
|
||
|
|
// MerFee *big.Float `json:"merFee"` // 商家手续费
|
||
|
|
// SingleFee *big.Float `json:"singleFee"` // 单笔手续费
|
||
|
|
// MerSettle *big.Float `json:"merSettle"` // 商户结算金额
|
||
|
|
ChannelCode string `json:"channelCode"` // 通道号
|
||
|
|
MerOrderNo string `json:"merOrderNo"` // 商家订单号
|
||
|
|
UserId string `json:"userId"` // 收款用户id
|
||
|
|
UserBankAccount string `json:"userBankAccount"` // 用户收款账号
|
||
|
|
Attach string `json:"attach"` // 其它参数
|
||
|
|
Status string `json:"status"` // 下单状态
|
||
|
|
CreateOrderTime string `json:"createOrderTime"` // 下单时间
|
||
|
|
Sign string `json:"sign"` // 签名
|
||
|
|
}
|
||
|
|
|
||
|
|
type QueryWithdrawReq struct {
|
||
|
|
MerId string `json:"merId"` // 商家号
|
||
|
|
Sign string `json:"sign"` // 签名
|
||
|
|
OrderNo string `json:"orderNo"` // 平台订单号
|
||
|
|
}
|
||
|
|
|
||
|
|
type QueryWithdrawResp struct {
|
||
|
|
// Amount int64 `json:"amount"` // 交易金额
|
||
|
|
// MerchantFee int64 `json:"merchantFee"` // 商家手续费
|
||
|
|
// SingleFee int64 `json:"singleFee"` // 单笔手续费
|
||
|
|
// MerchantSettle int64 `json:"merchantSettle"` // 商户结算金额
|
||
|
|
ChannelNo string `json:"channelNo"` // 通道号
|
||
|
|
MerchantOrderNo string `json:"merchantOrderNo"` // 商家订单号
|
||
|
|
UserID string `json:"userId"` // 收款用户ID
|
||
|
|
UserBankAccount string `json:"userBankAccount"` // 用户收款账号
|
||
|
|
Attach string `json:"attach"` // 其它参数
|
||
|
|
Status string `json:"status"` // 下单状态
|
||
|
|
UTR string `json:"utr"` // UTR
|
||
|
|
CreateOrderTime string `json:"createOrderTime"` // 下单时间
|
||
|
|
Code string `json:"code"` // 响应状态
|
||
|
|
Msg string `json:"msg"` // 响应失败原因
|
||
|
|
Sign string `json:"sign"` // 签名
|
||
|
|
}
|