瀏覽代碼

添加取消订单接口,于close

huangrf 5 年之前
父節點
當前提交
d878ca120f
共有 1 個文件被更改,包括 20 次插入0 次删除
  1. 20 0
      third/alipay/alipay.go

+ 20 - 0
third/alipay/alipay.go

@@ -58,6 +58,7 @@ func PayNavite(param *PayParams)(*alipay.TradePreCreateRsp, error){
 	return resp, nil
 }
 // 关闭订单
+// APP支付、手机网站支付和电脑网站支付产生的交易,可调用 alipay.trade.close(统一收单交易关闭接口)直接将未付款的交易进行关闭
 func CloseOrder(outTradeNo string)(*alipay.TradeCloseRsp, error){
 	tcparam := alipay.TradeClose{}
 	tcparam.OutTradeNo = outTradeNo
@@ -65,6 +66,25 @@ func CloseOrder(outTradeNo string)(*alipay.TradeCloseRsp, error){
 	if err != nil{
 		return resp, err
 	}
+	if resp.Content.Code != "10000"{
+		// 10000 处理成功
+		return resp, nil
+	}else{
+		fmt.Println("关闭订单失败", resp.Content.Code, resp.Content.Msg)
+		return resp, errors.New("关闭订单失败")
+	}
+}
+
+// 取消订单
+// 当面付产生的交易,支付交易返回失败或支付系统超时
+func CancelOrder(outTradeNo string)(*alipay.TradeCancelRsp, error){
+	tcparam := alipay.TradeCancel{}
+	tcparam.OutTradeNo = outTradeNo
+
+	resp, err := alipayClient.TradeCancel(tcparam)
+	if err != nil{
+		return resp, err
+	}
 	if resp.Content.Code != "10000"{
 		// 10000 处理成功
 		return resp, nil