|
|
|
@ -3,6 +3,8 @@ package alipay
|
|
|
|
|
import (
|
|
|
|
|
"errors"
|
|
|
|
|
"fmt"
|
|
|
|
|
alipay2 "git.oa00.com/go/alipay"
|
|
|
|
|
"github.com/smartwalle/alipay/v3"
|
|
|
|
|
"io/ioutil"
|
|
|
|
|
"log"
|
|
|
|
|
"net/http"
|
|
|
|
@ -78,16 +80,25 @@ func Refund(tx *gorm.DB, asGoods *after.RecookAfterSalesGoodsModel) error {
|
|
|
|
|
//这边判断是否有金额
|
|
|
|
|
fmt.Println("退款金额:", asGoods.RefundAmount.Truncate(2).String(), "========")
|
|
|
|
|
if asGoods.RefundAmount.GreaterThan(decimal.NewFromFloat(0.0)) {
|
|
|
|
|
detailParam := RefundDetailParam{
|
|
|
|
|
param := alipay.TradeRefund{
|
|
|
|
|
OutTradeNo: asGoods.TradeNo,
|
|
|
|
|
RefundAmount: asGoods.RefundAmount.Truncate(2).String(),
|
|
|
|
|
OutRequestNo: asGoods.RefundNo,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
pub := newPublicParam(&detailParam)
|
|
|
|
|
if err := RequestOrderRefund(&pub); err != nil {
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
refund, _ := alipay2.Alipay.TradeRefund(param)
|
|
|
|
|
if !refund.Content.Code.IsSuccess() {
|
|
|
|
|
return errors.New("支付宝退款结果不对")
|
|
|
|
|
}
|
|
|
|
|
//detailParam := RefundDetailParam{
|
|
|
|
|
// OutTradeNo: asGoods.TradeNo,
|
|
|
|
|
// RefundAmount: asGoods.RefundAmount.Truncate(2).String(),
|
|
|
|
|
// OutRequestNo: asGoods.RefundNo,
|
|
|
|
|
//}
|
|
|
|
|
//
|
|
|
|
|
//pub := newPublicParam(&detailParam)
|
|
|
|
|
//if err := RequestOrderRefund(&pub); err != nil {
|
|
|
|
|
// return err
|
|
|
|
|
//}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return pay.SyncRefundSuccessCallback(tx, asGoods)
|
|
|
|
|