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

129 lines
7.5 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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
}