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

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"` // 签名
}