Browse Source

Merge branch 'v2' of https://git.qianqiusoft.com/qianqiusoft/light-apiengine into v2

wuww 5 years ago
parent
commit
60e1f7457e
1 changed files with 37 additions and 0 deletions
  1. 37 0
      third/alipay/alipay.go

+ 37 - 0
third/alipay/alipay.go

@@ -4,6 +4,7 @@ import (
 	"fmt"
 	"git.qianqiusoft.com/qianqiusoft/light-apiengine/entitys"
 	"git.qianqiusoft.com/qianqiusoft/light-apiengine/models"
+	"errors"
 	"github.com/smartwalle/alipay"
 )
 
@@ -56,3 +57,39 @@ 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
+	resp, err := alipayClient.TradeClose(tcparam)
+	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
+	}else{
+		fmt.Println("取消订单失败", resp.Content.Code, resp.Content.Msg)
+		return resp, errors.New("取消订单失败")
+	}
+}