2024-06-13 18:45:49 +08:00
|
|
|
|
package front
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"encoding/json"
|
|
|
|
|
)
|
|
|
|
|
|
2024-07-10 16:33:24 +08:00
|
|
|
|
/*
|
|
|
|
|
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 |
|
|
|
|
|
*/
|
2024-06-13 18:45:49 +08:00
|
|
|
|
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"`
|
|
|
|
|
}
|
|
|
|
|
|
2024-07-10 16:33:24 +08:00
|
|
|
|
/*
|
|
|
|
|
XinYeOrderResponse
|
|
|
|
|
| 参数名称 | 类型 | 说明 | 是否必须 |
|
|
|
|
|
| :---------- | :--------- | :------------------------------- | :------- |
|
|
|
|
|
| code | String(6) | 响应码:000000:成功 其他失败 | Y |
|
|
|
|
|
| msg | String(64) | 响应信息 | Y |
|
|
|
|
|
| rccsSuccess | String(10) | 成功失败标志:true成功,false失败 | Y |
|
|
|
|
|
| payInfo | Struct | 支付信息 | N |
|
|
|
|
|
*/
|
2024-06-13 18:45:49 +08:00
|
|
|
|
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"`
|
|
|
|
|
}
|
|
|
|
|
|
2024-07-10 16:33:24 +08:00
|
|
|
|
/*
|
|
|
|
|
| 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 |
|
|
|
|
|
*/
|
2024-06-13 18:45:49 +08:00
|
|
|
|
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"`
|
|
|
|
|
}
|
|
|
|
|
|
2024-07-08 18:01:02 +08:00
|
|
|
|
func (this *XinYeOrderRequest) ToMap() (resultMap map[string]string) {
|
2024-06-13 18:45:49 +08:00
|
|
|
|
// 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
|
|
|
|
|
}
|