task: 修复支付宝C端入口构建失败
移除不存在的 alipay.CalcExpireAt 调用,改为按 cfg.AliPayExpireMinutes(默认 30 分钟) 内联计算 expireAt;将所有 BuildWapPayURL 调用从 5 参数改为 4 参数(移除 returnURL)。 修复范围:getOrBuildAlipayPaymentLink、createAlipayForceRechargeOrder、createAlipayRecharge。 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -386,7 +386,11 @@ func (h *ClientWalletHandler) createAlipayRecharge(
|
|||||||
) error {
|
) error {
|
||||||
rechargeNo := generateClientRechargeNo()
|
rechargeNo := generateClientRechargeNo()
|
||||||
paymentNo := generateClientPaymentNo()
|
paymentNo := generateClientPaymentNo()
|
||||||
expireAt := alipay.CalcExpireAt(config)
|
expireMinutes := config.AliPayExpireMinutes
|
||||||
|
if expireMinutes <= 0 {
|
||||||
|
expireMinutes = 30
|
||||||
|
}
|
||||||
|
expireAt := time.Now().Add(time.Duration(expireMinutes) * time.Minute)
|
||||||
|
|
||||||
rechargeOrder := &model.RechargeOrder{
|
rechargeOrder := &model.RechargeOrder{
|
||||||
RechargeOrderNo: rechargeNo,
|
RechargeOrderNo: rechargeNo,
|
||||||
@@ -423,7 +427,7 @@ func (h *ClientWalletHandler) createAlipayRecharge(
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
wapURL, err := alipay.BuildWapPayURL(resolved.SkipPermissionCtx, config, payment, "资产钱包充值", config.AliReturnURL)
|
wapURL, err := alipay.BuildWapPayURL(resolved.SkipPermissionCtx, config, payment, "资产钱包充值")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if updateErr := h.paymentStore.UpdateStatus(resolved.SkipPermissionCtx, payment.ID, model.PaymentRecordStatusFailed); updateErr != nil {
|
if updateErr := h.paymentStore.UpdateStatus(resolved.SkipPermissionCtx, payment.ID, model.PaymentRecordStatusFailed); updateErr != nil {
|
||||||
h.logger.Warn("标记支付宝支付单 failed 失败",
|
h.logger.Warn("标记支付宝支付单 failed 失败",
|
||||||
|
|||||||
@@ -878,7 +878,11 @@ func (s *Service) getOrBuildAlipayPaymentLink(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
expireAt := alipay.CalcExpireAt(activeConfig)
|
expireMinutes := activeConfig.AliPayExpireMinutes
|
||||||
|
if expireMinutes <= 0 {
|
||||||
|
expireMinutes = 30
|
||||||
|
}
|
||||||
|
expireAt := time.Now().Add(time.Duration(expireMinutes) * time.Minute)
|
||||||
newPayment := &model.Payment{
|
newPayment := &model.Payment{
|
||||||
PaymentNo: generateClientPaymentNo(),
|
PaymentNo: generateClientPaymentNo(),
|
||||||
OrderID: orderID,
|
OrderID: orderID,
|
||||||
@@ -903,7 +907,7 @@ func (s *Service) getOrBuildAlipayPaymentLink(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
wapURL, err := alipay.BuildWapPayURL(ctx, activeConfig, payment, subject, activeConfig.AliReturnURL)
|
wapURL, err := alipay.BuildWapPayURL(ctx, activeConfig, payment, subject)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
// 新建的 payment 生成链接失败,标记 failed
|
// 新建的 payment 生成链接失败,标记 failed
|
||||||
if existing == nil || payment.ID != existing.ID {
|
if existing == nil || payment.ID != existing.ID {
|
||||||
@@ -982,7 +986,11 @@ func (s *Service) createAlipayForceRechargeOrder(
|
|||||||
PaymentConfigID: &activeConfig.ID,
|
PaymentConfigID: &activeConfig.ID,
|
||||||
}
|
}
|
||||||
|
|
||||||
expireAt := alipay.CalcExpireAt(activeConfig)
|
expireMinutesForce := activeConfig.AliPayExpireMinutes
|
||||||
|
if expireMinutesForce <= 0 {
|
||||||
|
expireMinutesForce = 30
|
||||||
|
}
|
||||||
|
expireAt := time.Now().Add(time.Duration(expireMinutesForce) * time.Minute)
|
||||||
paymentNo := generateClientPaymentNo()
|
paymentNo := generateClientPaymentNo()
|
||||||
payment := &model.Payment{
|
payment := &model.Payment{
|
||||||
PaymentNo: paymentNo,
|
PaymentNo: paymentNo,
|
||||||
@@ -1005,7 +1013,7 @@ func (s *Service) createAlipayForceRechargeOrder(
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
wapURL, err := alipay.BuildWapPayURL(ctx, activeConfig, payment, "余额充值", activeConfig.AliReturnURL)
|
wapURL, err := alipay.BuildWapPayURL(ctx, activeConfig, payment, "余额充值")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if updateErr := s.paymentStore.UpdateStatus(ctx, payment.ID, model.PaymentRecordStatusFailed); updateErr != nil {
|
if updateErr := s.paymentStore.UpdateStatus(ctx, payment.ID, model.PaymentRecordStatusFailed); updateErr != nil {
|
||||||
s.logger.Warn("标记支付宝支付单 failed 失败",
|
s.logger.Warn("标记支付宝支付单 failed 失败",
|
||||||
|
|||||||
Reference in New Issue
Block a user