1
This commit is contained in:
149
platformapi/tonglianpayapi/yun_mis_pay.go
Normal file
149
platformapi/tonglianpayapi/yun_mis_pay.go
Normal file
@@ -0,0 +1,149 @@
|
||||
package tonglianpayapi
|
||||
|
||||
//
|
||||
//import (
|
||||
// "crypto/md5"
|
||||
// "fmt"
|
||||
// "git.rosy.net.cn/baseapi/platformapi"
|
||||
// "git.rosy.net.cn/baseapi/utils"
|
||||
// "net/http"
|
||||
// "strings"
|
||||
//)
|
||||
//
|
||||
//const (
|
||||
// TongLianMisPay = "https://cloudmiscash.allinpay.com/cloudMis-transaction" // 通联mis支付(基础收款用于一般无特殊支付业务需求的标准行业,如零售、餐饮类商户及场景)
|
||||
// MisPayAction = "api/v2/process"
|
||||
//)
|
||||
//
|
||||
//const (
|
||||
// BusinessTypeBUSIORDERTRANS = "100000003" // 订单支付收款(不含查询流程)
|
||||
// BusinessTypeBUSIORDERTRANSBANK = "100100003" // 订单支付银行卡收款(不含查询)
|
||||
// BusinessTypeBUSIORDERTRANSQR = "100300003" // 订单支付扫码收款(不含查询)
|
||||
// BusinessTypeBUSIORDERSALE = "100000002" // 订单支付收款(含查询流程)
|
||||
// BusinessTypeBUSIORDERSALEBANK = "100100002" // 订单支付银行卡收款(含查询流程)
|
||||
// BusinessTypeBUSIORDERSALEQR = "100300002" // 订单支付扫码收款(含查询流程)
|
||||
//)
|
||||
//
|
||||
//func (a *API) signMisParam(businessID, licence string, custData *CustDataDetail) (sig string) {
|
||||
// var signBuffer = new(strings.Builder)
|
||||
// //signBuffer.Write([]byte(a.appID))
|
||||
// signBuffer.Write([]byte("app_id_001"))
|
||||
// signBuffer.Write([]byte(businessID))
|
||||
// signBuffer.Write([]byte(fmt.Sprintf(`{"BUSINESS_ID":"%s","AMOUNT":"%s","ORDER_NO":"%s"}`, custData.BusinessId, custData.Amount, custData.OrderNo)))
|
||||
// signBuffer.Write([]byte(licence))
|
||||
// fmt.Println(signBuffer.String())
|
||||
// binSig := md5.Sum([]byte(signBuffer.String()))
|
||||
// sig = fmt.Sprintf("%x", binSig)
|
||||
// return sig
|
||||
//}
|
||||
//
|
||||
//func (a *API) AccessMisAPI(action string, bizParams map[string]interface{}) (retVal map[string]interface{}, err error) {
|
||||
// //params := make(map[string]interface{})
|
||||
// //params["APP_ID"] = a.appID
|
||||
// ////params["randomstr"] = utils.GetUUID()
|
||||
// ////params["version"] = "12"
|
||||
// //params = utils.MergeMaps(params, bizParams)
|
||||
// //signStr := a.signParam(params)
|
||||
// //params["SIGN_DATA"] = signStr
|
||||
// fullURL := utils.GenerateGetURL(TongLianMisPay, action, nil)
|
||||
// err = platformapi.AccessPlatformAPIWithRetry(a.client,
|
||||
// func() *http.Request {
|
||||
// request, _ := http.NewRequest(http.MethodPost, fullURL, strings.NewReader(utils.Map2URLValues(bizParams).Encode()))
|
||||
// request.Header.Set("charset", "UTF-8")
|
||||
// request.Header.Set("Content-Type", "application/x-www-form-urlencoded")
|
||||
// return request
|
||||
// },
|
||||
// a.config,
|
||||
// func(response *http.Response, bodyStr string, jsonResult1 map[string]interface{}) (errLevel string, err error) {
|
||||
// if jsonResult1 == nil {
|
||||
// return platformapi.ErrLevelRecoverableErr, fmt.Errorf("mapData is nil")
|
||||
// }
|
||||
// if err == nil {
|
||||
// returnCode := utils.Interface2String(jsonResult1["RSP_CODE"])
|
||||
// if returnCode != MisStatusSuccess {
|
||||
// errLevel = platformapi.ErrLevelGeneralFail
|
||||
// err = utils.NewErrorCode(utils.Interface2String(jsonResult1["errmsg"])+utils.Interface2String(jsonResult1["retmsg"]), returnCode)
|
||||
// }
|
||||
// retVal = jsonResult1
|
||||
// }
|
||||
// return errLevel, err
|
||||
// })
|
||||
// return retVal, err
|
||||
//}
|
||||
//
|
||||
//// CreateMisPayOrder 创建订单(扫码枪,扫二维码支付)
|
||||
//func (a *API) CreateMisPayOrder(param *OnMisPayReq, custData *CustDataDetail) (err error) {
|
||||
// param.AppId = a.appID
|
||||
// param.SignData = a.signMisParam(param.BusinessId, "", custData)
|
||||
// params := utils.Struct2MapByJson(param)
|
||||
// result, err := a.AccessMisAPI(MisPayAction, params)
|
||||
// fmt.Println(result)
|
||||
// return
|
||||
//}
|
||||
//
|
||||
//type OnMisPayReq struct {
|
||||
// AppId string `json:"APP_ID"` // 必填 应用分配ID
|
||||
// BusinessId string `json:"BUSINESS_ID"` // 必填 业务类型
|
||||
// CustData string `json:"CUST_DATA"` // 必填 具体的支付请求数据,JSON格式字符串
|
||||
// CashId string `json:"CASH_ID"` // 必填 收银机款台号
|
||||
// StoreId string `json:"STORE_ID"` // 必填 商户分店号
|
||||
// SignData string `json:"SIGN_DATA"` // 必填 计算方法参照附录1
|
||||
// AppPackageNm string `json:"APP_PACKAGE_NM"` // 非必填 指定APP包名
|
||||
// AppClassNm string `json:"APP_CLASS_NM"` // 非必填 指定类名
|
||||
// BusExtpara string `json:"BUS_EXTPARA"` // 非必填 业务扩展字段,用于特定功能,详见附录2
|
||||
//}
|
||||
//type CustDataDetail struct {
|
||||
// BusinessId string `json:"BUSINESS_ID"` // 必填 业务类型
|
||||
// Amount string `json:"AMOUNT"` // 必填 支付金额,十二位长度(单位:分,不足左补零)
|
||||
// OrderNo string `json:"ORDER_NO"` // 必填 订单编号
|
||||
// Memo string `json:"MEMO"` // 非必填 订单编号
|
||||
// QrCode string `json:"QRCODE"` // 非必填 订单编号
|
||||
// TramsCheck string `json:"TRANS_CHECK"` // 非必填 订单编号
|
||||
// PageAppendContent string `json:"PAGE_APPEND_CONTENT"` // 非必填 订单编号
|
||||
// ValidateInfo string `json:"VALIDATE_INFO"` // 非必填 订单编号
|
||||
// BusInfo string `json:"BUS_INFO"` // 非必填 订单编号
|
||||
//}
|
||||
//
|
||||
//type MisPayResp struct {
|
||||
// RspCode string `json:"RSP_CODE"` // 云MIS系统服务调用返回码, 支付返回代码请参考RSP_DATA里支付结果字段
|
||||
// RspData string `json:"RSP_DATA"` // 透传支付产品给云MIS的响应JSON字符串
|
||||
// RspDesc string `json:"RSP_DESC"` // 交易级返回描述
|
||||
// CloudMisTrxSsn string `json:"ClOUD_MIS_TRX_SSN"` // 交易成功返回,云MIS系统唯一流水号,用于查询或对账
|
||||
//}
|
||||
//
|
||||
//type MisPayRspData struct {
|
||||
// BusinessId string `json:"BUSINESS_ID"` // 必填 业务类型
|
||||
// RejCode string `json:"REJCODE"` // 交易返回码
|
||||
// RejCodeCn string `json:"REJCODE_CN"` // 交易返回码注释
|
||||
// Cups string `json:"CUPS"` // 卡组织,银行卡为空 (ALP:支付宝 WXP:微信支付)
|
||||
// MerchID string `json:"MERCH_ID"` // 商户编号
|
||||
// TerID string `json:"TER_ID"` // 终端编号
|
||||
// MerchName string `json:"MERCH_NAME"` // 商户名称
|
||||
// BatchNo string `json:"BATCH_NO"` // 批次号
|
||||
// TraceNo string `json:"TRACE_NO"` // 凭证号
|
||||
// TransTicketNo string `json:"TRANS_TICKET_NO"` // 交易单号
|
||||
// OrderNo string `json:"order_no"` // 订单编号
|
||||
// Amount string `json:"AMOUNT"` // 支付金额,十二位长度(单位:分)
|
||||
// RefNo string `json:"REF_NO"` // 系统参考号
|
||||
// CarDno string `json:"CARDNO"` // 银行卡交易时返回卡号;扫码交易返回OPENID或USERID
|
||||
// CardTypeIdenty string `json:"CARD_TYPE_IDENTY"` // 借贷记卡标识(银行卡) 0:借记 1:贷记
|
||||
// WildCardSign string `json:"WILD_CARD_SIGN"` //内外卡标识(银行卡) 0:内卡 1:外卡
|
||||
// ExpDate string `json:"EXP_DATE"` // 有效期
|
||||
// Date string `json:"DATE"` // 支付日期
|
||||
// Time string `json:"TIME"` // 支付时间
|
||||
// PrintFlag string `json:"PRINT_FLAG"` // 是否打印小票(1:打印,0:未打印)
|
||||
// CardFee string `json:"CARD_FEE"` // 手续费,十二位长度(单位:分)
|
||||
// TransCheck string `json:"TRANS_CHECK"` // 交易唯一标识
|
||||
// AuthNo string `json:"AUTH_NO"` // 授权码
|
||||
// Sign string `json:"SIGN"` // 签名
|
||||
// CardType string `json:"CARDTYPE"` // 卡类型
|
||||
// TransChannel string `json:"TRANS_CHANNEL"` // 交易渠道
|
||||
// IssNo string `json:"ISS_NO"` // 发卡行行号
|
||||
// IssName string `json:"ISS_NAME"` // 发卡行名称
|
||||
// Memo string `json:"MEMO"` // 备注信息
|
||||
// PrtCommon string `json:"PRT_COMMON"` // 打印内容公共部分(仅用于简易终端版)
|
||||
// PrtCardholder string `json:"PRT_CARDHOLDER"` // 打印内容持卡人联部分(仅用于简易终端版)
|
||||
// PrtMerchant string `json:"PRT_MERCHANT"` // 打印内容商户联部分(仅用于简易终端版)
|
||||
// DiscAmount string `json:"DISC_AMOUNT"` // 优惠金额
|
||||
// ActuallyAmount string `json:"ACTUALLY_AMOUNT"` // 实付金额
|
||||
//}
|
||||
Reference in New Issue
Block a user