129 lines
7.5 KiB
Go
129 lines
7.5 KiB
Go
package front
|
||
|
||
import (
|
||
"encoding/json"
|
||
)
|
||
|
||
/*
|
||
XinYeOrderRequest 请求结构体
|
||
| 参数名称 | 类型 | 说明 | 是否必须 |
|
||
| :--------------------- | :----------- | :----------------------------------------------------------- | :------- |
|
||
| sAppId | String(24) | 应用Id | Y |
|
||
| txnType | String(8) | 交易类型 | Y |
|
||
| prodId | String(20) | 产品码 | Y |
|
||
| eventId | String(8) | 事件码 | N |
|
||
| accessType | String(4) | 接入方式:H5-小程序、公众号,SDK - APP渠道,API - 接口输出 | Y |
|
||
| mchtId | String(16) | 交易商户号 | Y |
|
||
| mchtUserId | String(32) | BU侧用户编号 | Y |
|
||
| mchtOrderId | String(32) | BU商户侧订单号 | Y |
|
||
| mchtOrderDateTime | String(14) | BU商户侧订单时间:14位,格式"20220330143021" | Y |
|
||
| mchtActivityInfo | String(1024) | BU场景侧活动信息域:base64编码的JSON串 | N |
|
||
| mchtCouponInfo | String(1024) | BU场景侧券工具信息域:base64编码的JSON串 | N |
|
||
| mchtOrderAmt | String(20) | 订单金额:2位小数,单位元 | Y |
|
||
| mchtTxnAmt | String(20) | 交易金额:2位小数,单位元 | Y |
|
||
| mainPayType | String(2) | 主支付工具类型:01-本金;02-分期;03-积分借记积分;04-贵宾积点;05-积分贷记积分;06-本金+积分贷记积分 | Y |
|
||
| ccyType | String(3) | 币种:156-人民币 | Y |
|
||
| installmentsCount | String(4) | 分期数:分期字段,分期必输;3-3期;6-6期;9-9期;12-12期 | N |
|
||
| installmentsGoodsId | String(64) | 分期商品Id:分期字段,分期必输 | N |
|
||
| installmentsUnitAmount | String(20) | 分期单价:分期字段,分期必输:2位小数,单位元 | N |
|
||
| installmentsAmtFee | String(20) | 分期手续费:分期字段,分期必输:3位小数,单位元 | N |
|
||
| pointType | String(4) | 积分类型:积分字段,积分支付必输;0-储蓄卡;1-信用卡;2-贵宾积点 | N |
|
||
| integral | String(16) | 抵扣积分值:积分,积点字段,积分积点支付必输 | N |
|
||
| bindCardInfo | String(1024) | 绑卡信息域:base64编码的JSON串 | N |
|
||
| secOrderInfo | String(4096) | 子订单信息域:base64编码的JSON串 | N |
|
||
| riskInfo | String(1024) | 风险控制域:base64编码的JSON串 | N |
|
||
| buRealFlag | String(1) | BU是否实名:0-未实名;1-实名 | Y |
|
||
| certNo | String(18) | 用户证件号:BU实名的时候,必输 | N |
|
||
| userName | String(32) | 用户姓名:BU实名的时候,必输 | N |
|
||
| userPhone | String(11) | 手机号:BU实名的时候,必输 | N |
|
||
| frontEndUrl | String(256) | BU前端跳转地址 | Y |
|
||
| orderRemark | String(256) | 订单备注 | Y |
|
||
| txnAttach | String(1024) | 交易请求附加域 | N |
|
||
| limitRuleInfo | String(1024) | 限制规则域 | N |
|
||
*/
|
||
type XinYeOrderRequest struct {
|
||
SAppId string `json:"sAppId"`
|
||
TxnType string `json:"txnType"`
|
||
ProdId string `json:"prodId"`
|
||
AccessType string `json:"accessType"`
|
||
MchtId string `json:"mchtId"`
|
||
MchtUserId string `json:"mchtUserId"`
|
||
MchtOrderId string `json:"mchtOrderId"`
|
||
MchtOrderDateTime string `json:"mchtOrderDateTime"`
|
||
MchtOrderAmt string `json:"mchtOrderAmt"`
|
||
MchtTxnAmt string `json:"mchtTxnAmt"`
|
||
MainPayType string `json:"mainPayType"`
|
||
CcyType string `json:"ccyType"`
|
||
BuRealFlag string `json:"buRealFlag"`
|
||
FrontEndUrl string `json:"frontEndUrl"`
|
||
OrderRemark string `json:"orderRemark"`
|
||
}
|
||
|
||
/*
|
||
XinYeOrderResponse
|
||
| 参数名称 | 类型 | 说明 | 是否必须 |
|
||
| :---------- | :--------- | :------------------------------- | :------- |
|
||
| code | String(6) | 响应码:000000:成功 其他失败 | Y |
|
||
| msg | String(64) | 响应信息 | Y |
|
||
| rccsSuccess | String(10) | 成功失败标志:true成功,false失败 | Y |
|
||
| payInfo | Struct | 支付信息 | N |
|
||
*/
|
||
type XinYeOrderResponse struct {
|
||
Code string `json:"code"`
|
||
Msg string `json:"msg"`
|
||
RccsSuccess string `json:"rccsSuccess"`
|
||
PayInfo payInfo `json:"payInfo"`
|
||
}
|
||
|
||
type XinYeOrderQueryResponse struct {
|
||
Code string `json:"code"`
|
||
Msg string `json:"msg"`
|
||
RccsSuccess string `json:"rccsSuccess"`
|
||
OrderInfo OrderInfo `json:"orderInfo"`
|
||
}
|
||
|
||
type OrderInfo struct {
|
||
TxnStatus string `json:"txnStatus"`
|
||
}
|
||
|
||
/*
|
||
| payToken | String(128) | 收银台链接:收银台token | Y |
|
||
| :---------------- | :---------- | :------------------------------------------- | :--- |
|
||
| payTokenTime | String(4) | 订单过期时间:30,单位分 | Y |
|
||
| txnOrderId | String(32) | 业务受理订单号 | Y |
|
||
| txnOrderTime | String(14) | 业务交易订单时间:14位,格式"20220330143021" | Y |
|
||
| mchtOrderId | String(32) | BU商户侧订单号 | Y |
|
||
| mchtOrderDateTime | String(14) | BU商户侧订单时间:14位,格式"20220330143021" | Y |
|
||
*/
|
||
type payInfo struct {
|
||
PayToken string `json:"payToken"`
|
||
PayTokenTime string `json:"payTokenTime"`
|
||
TxnOrderId string `json:"txnOrderId"`
|
||
TxnOrderTime string `json:"txnOrderTime"`
|
||
MchtOrderId string `json:"mchtOrderId"`
|
||
}
|
||
|
||
type XinYeOrderQueryRequest struct {
|
||
SAppId string `json:"sAppId"`
|
||
TxnType string `json:"txnType"`
|
||
ProdId string `json:"prodId"`
|
||
AccessType string `json:"accessType"`
|
||
MchtId string `json:"mchtId"`
|
||
OriMchtOrderId string `json:"oriMchtOrderId"`
|
||
}
|
||
|
||
func (this *XinYeOrderRequest) ToMap() (resultMap map[string]string) {
|
||
// Marshal the struct to JSON, ignoring omitempty fields.
|
||
jsonBytes, err := json.Marshal(this)
|
||
if err != nil {
|
||
return
|
||
}
|
||
// Unmarshal the JSON into a map to get the final result.
|
||
err = json.Unmarshal(jsonBytes, &resultMap)
|
||
if err != nil {
|
||
return
|
||
}
|
||
|
||
return resultMap
|
||
}
|