修复支付宝退款

master
kanade 3 years ago
parent 7e3948e864
commit da0715b4f4

@ -2,7 +2,6 @@ package after
import (
"errors"
"log"
"recook/internal/dbc"
"recook/internal/libs/bean"
"recook/internal/service/comFunc"
@ -485,12 +484,9 @@ func refundWithType(tx *gorm.DB, asGoods after.RecookAfterSalesGoodsModel) error
mysql2.Db.First(&od2, "jcook_order_id = ?", od.JCookRootID)
asGoods.OrderTotalAmount = od2.ActualTotalAmount
}
log.Println("========================================1")
if err := wechat.Refund(&asGoods); err != nil {
log.Println("========================================3", err)
return err
}
log.Println("========================================2")
case manage.RecookOrderInfoPayMethodAlipay:
if err := alipay.Refund(tx, &asGoods); err != nil {
return err

@ -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)

@ -134,19 +134,12 @@ func requestOrderRefund(param *RefundParam) error {
defer func() { _ = response.Body.Close() }()
result, err := ioutil.ReadAll(response.Body)
if err != nil {
log.Println("========================================")
log.Println(string(result))
log.Println(err)
return err
}
var r RefundQueryResult
err = xml.Unmarshal(result, &r)
if err != nil {
log.Println("========================================")
log.Println(string(result))
log.Println(err)
log.Println(r)
return err
}

@ -25,8 +25,8 @@ func CreateRes(cmd string, f F) Res {
var (
EndPoint = "opensearch-cn-shanghai.aliyuncs.com"
AccessKeyId = "LTAI5tR6hFZwtJLKFq4Sxibg"
AccessKeySecret = "pn0fKjGY7zoLzWdGjjcxJP95jrAhAn"
AccessKeyId = "LTAI5tBeJdJBq2R9quhwGeQH"
AccessKeySecret = "sKvHrPwNWbVeDgUARAiGTluW06AQ4c"
App = "zjyc"
Table = "main"
)

Loading…
Cancel
Save