代码拉取完成,页面将自动刷新
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
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。