|
|
@@ -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("取消订单失败")
|
|
|
+ }
|
|
|
+}
|