商福通sdk客户端与必要支付接口实现

This commit is contained in:
2025-06-04 19:02:21 +08:00
parent a9de63c3f9
commit 392e404d68
6 changed files with 380 additions and 16 deletions

View File

@@ -56,12 +56,12 @@ func AlipayCallback(c *fiber.Ctx) (err error) {
}
switch alipay.TradeStatus(notification.NotifyType) {
// 等待支付
case alipay.TradeStatusWaitBuyerPay:
// 不需要处理
// 支付关闭
case alipay.TradeStatusClosed:
// todo 退款
// 非退款
switch trade2.Type(trade.Type) {
// 购买产品
@@ -73,6 +73,10 @@ func AlipayCallback(c *fiber.Ctx) (err error) {
// 余额充值
case trade2.TypeRecharge:
err = s.User.RechargeCancel(notification.OutTradeNo, time.Now())
if err != nil {
return err
}
}
// 支付成功
@@ -92,14 +96,11 @@ func AlipayCallback(c *fiber.Ctx) (err error) {
Payment: payment,
Time: paidAt,
}
switch trade2.Type(trade.Type) {
// 余额充值
case trade2.TypeRecharge:
err := s.User.RechargeConfirm(notification.OutTradeNo, verified)
if err != nil {
return err
}
// todo 退款
// 非退款
switch trade2.Type(trade.Type) {
// 购买产品
case trade2.TypePurchase:
@@ -107,11 +108,14 @@ func AlipayCallback(c *fiber.Ctx) (err error) {
if err != nil {
return err
}
}
// 交易结束
case alipay.TradeStatusFinished:
// 结束交易状态
// 余额充值
case trade2.TypeRecharge:
err := s.User.RechargeConfirm(notification.OutTradeNo, verified)
if err != nil {
return err
}
}
}
return c.SendString("success")