通联宝apixiugai

This commit is contained in:
苏尹岚
2020-02-27 11:48:15 +08:00
parent c0b778f449
commit 66380b6628
2 changed files with 94 additions and 2 deletions

View File

@@ -64,6 +64,34 @@ type PayInfo struct {
Package string `json:"package"`
SignType string `json:"signType"`
PaySign string `json:"paySign"`
PrepayID string `json:"prepayID"`
}
type PayRefundParam struct {
CusID string `json:"cusid"`
AppID string `json:"appid"`
Trxamt int `json:"trxamt"` //交易金额 单位为分
Reqsn string `json:"reqsn"` //商户交易单号
OldReqsn string `json:"oldReqsn"`
Remark string `json:"remark"`
RandomStr string `json:"randomStr"`
Sign string `json:"sign"`
}
type PayRefundResult struct {
RetCode string `json:"retCode"`
RetMsg string `json:"retMsg"`
CusID string `json:"cusID"`
AppID string `json:"appID"`
TrxID string `json:"trxID"`
Reqsn string `json:"reqsn"`
TrxStatus string `json:"trxStatus"`
FinTime string `json:"finTime"`
ErrMsg string `json:"errMsg"`
RandomStr string `json:"randomStr"`
Sign string `json:"sign"`
Fee int `json:"fee"`
TrxCode string `json:"trxCode"`
}
func New(appID, appKey, cusID, subAppid string, config ...*platformapi.APIConfig) *API {
@@ -108,9 +136,9 @@ func (a *API) AccessAPI(action string, bizParams map[string]interface{}) (retVal
if action == sepcAction {
params["paytype"] = payType
params["sub_appid"] = a.subAppid
signStr := a.signParam(params)
params["sign"] = signStr
}
signStr := a.signParam(params)
params["sign"] = signStr
fullURL := utils.GenerateGetURL(prodURL, action, nil)
err = platformapi.AccessPlatformAPIWithRetry(a.client,
@@ -151,3 +179,16 @@ func (a *API) CreateUnitorderOrder(param *CreateUnitorderOrderParam) (result *Cr
}
return result, err
}
func (a *API) PayRefund(param *PayRefundParam) (result *PayRefundResult, err error) {
params := make(map[string]interface{})
params["trxamt"] = param.Trxamt
params["reqsn"] = param.Reqsn
params["oldreqsn"] = param.OldReqsn
params["remark"] = param.Remark
retVal, err := a.AccessAPI("unitorder/refund", params)
if err == nil {
utils.Map2StructByJson(retVal, &result, false)
}
return result, err
}