XinYeYouKu/app/http/entities/front/xinye.go

129 lines
7.5 KiB
Go
Raw Normal View History

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-36-69-912-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
}