1 Star 0 Fork 0

亦息、亦铭/simplifly-airwallex

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
refund.go 1.53 KB
一键复制 编辑 原始数据 按行查看 历史
亦息、亦铭 提交于 2025-04-29 16:23 +08:00 . 1
package airwallex
import (
"context"
"errors"
"fmt"
model2 "simplifly-tech/payment/model"
"simplifly-tech/utility/log"
"strconv"
"time"
"github.com/goccy/go-json"
"github.com/shopspring/decimal"
)
func (airwallexService *AirwallexService) Refund(ctx context.Context, refundData *model2.RefundData) (string, error) {
return airwallexService.createRefund(
refundData.OrderID+"-"+strconv.Itoa(int(refundData.ParentIncomeID)),
refundData.OrderID+"-"+strconv.Itoa(int(refundData.IncomeID)),
refundData.ReferenceID,
refundData.Amount,
)
}
func (airwallexService *AirwallexService) createRefund(orderId, refundRequestId, uniqueOrderNo string, refundAmount decimal.Decimal) (result string, err error) {
reqData := AirWallerRefundReq{
Amount: refundAmount,
Reason: "Refund Money",
RequestId: fmt.Sprintf("%d %s", time.Now().Unix(), orderId),
PaymentIntentId: uniqueOrderNo,
//PaymentAttemptId: orderId,
}
reqData.Metadata.Id = refundRequestId
payResp, err := airwallexService.getResponse(SendCodeCreateRefund, reqData, "POST")
if nil != err {
return "", err
}
var respData AirWallerRefundResp
err = json.Unmarshal(payResp, &respData)
if err != nil {
log.Errorf("(airwallexService *AirwallexService) createRefund airwallex反序列化异常: %v", err)
return "", err
}
if respData.Status == "FAILED" {
log.Errorf("(airwallexService *AirwallexService) createRefund code :%s message :%s", respData.Code, respData.Message)
return "", errors.New(respData.Message)
}
return respData.Id, nil
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/lis_lmy/simplifly-airwallex.git
git@gitee.com:lis_lmy/simplifly-airwallex.git
lis_lmy
simplifly-airwallex
simplifly-airwallex
4d04b2c76139

搜索帮助