fff
This commit is contained in:
parent
ef6538528d
commit
c61abde23b
|
@ -12,7 +12,7 @@ import (
|
|||
func AlipayCallback(ctx *gin.Context) {
|
||||
//req, _ := ctx.GetRawData()
|
||||
//logger.Info("_AlipayCallback req: %v", string(req))
|
||||
bm, err := alipaycli.GetAlipayClient().ParseNotify(ctx.Request)
|
||||
bm, err := alipaycli.GetDefaultAlipayClient().ParseNotify(ctx.Request)
|
||||
if err != nil {
|
||||
logger.Error("ParseNotify fail, req: %v, err: %v", util.ToJson(bm), err)
|
||||
return
|
||||
|
|
|
@ -116,7 +116,7 @@ func (m *Mysql) CreateOrder(ctx *gin.Context, tx *sqlx.Tx, order *dbstruct.Order
|
|||
" (id, mid, uid, product_id, pay_type, pay_amount, oid1, oid2, oid3, " +
|
||||
" out_order_id, receipt_data, coins, order_status, order_from, " +
|
||||
" ct, ut, ext, b_did, b_ver, b_osver, b_dt, b_ch, b_model, b_nt, ip) " +
|
||||
" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) "
|
||||
" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) "
|
||||
if tx != nil {
|
||||
_, err = tx.ExecContext(ctx, sqlStr,
|
||||
order.GetID(), order.GetMid(), order.GetUid(), order.GetProductId(), order.GetPayType(), order.GetPayAmount(), order.GetOid1(), order.GetOid2(), order.GetOid3(),
|
||||
|
|
|
@ -168,7 +168,7 @@ func (v *Vas) CreateOrder(ctx *gin.Context, req *vasproto.CreateOrderReq) (data
|
|||
case vasproto.PayTypeOp:
|
||||
|
||||
case vasproto.PayTypeAlipay:
|
||||
alipayCli := alipaycli.GetAlipayClient()
|
||||
alipayCli := alipaycli.GetDefaultAlipayClient()
|
||||
appPayParam := &alipaycli.AppPayParam{
|
||||
OutTradeNo: orderId,
|
||||
Subject: product.Subject,
|
||||
|
@ -182,7 +182,7 @@ func (v *Vas) CreateOrder(ctx *gin.Context, req *vasproto.CreateOrderReq) (data
|
|||
}
|
||||
req.Oid3 = alipayCli.AppId
|
||||
case vasproto.PayTypeAlipayH5:
|
||||
alipayCli := alipaycli.GetAlipayClient()
|
||||
alipayCli := alipaycli.GetDefaultAlipayClient()
|
||||
wapPayParam := &alipaycli.WapPayParam{
|
||||
OutTradeNo: orderId,
|
||||
Subject: product.Subject,
|
||||
|
@ -1945,7 +1945,7 @@ func (v *Vas) WithdrawApply(ctx *gin.Context, req *vasproto.WithdrawApplyReq) (t
|
|||
AlipayLoginId: alipayId,
|
||||
AlipayName: alipayName,
|
||||
}
|
||||
transferResp, err = alipaycli.GetAlipayClient().UniTransfer(ctx, transferParam)
|
||||
transferResp, err = alipaycli.GetDefaultAlipayClient().UniTransfer(ctx, transferParam)
|
||||
if err != nil {
|
||||
logger.Error("UniTransfer fail, param: %v, err: %v", util.ToJson(transferParam), err)
|
||||
return
|
||||
|
@ -2083,7 +2083,7 @@ func (v *Vas) DealOneOrder(ctx *gin.Context, orderId string) (err error) {
|
|||
// 支付宝查询订单
|
||||
switch order.GetPayType() {
|
||||
case vasproto.PayTypeAlipayH5:
|
||||
alipayCli := alipaycli.GetAlipayClient()
|
||||
alipayCli := alipaycli.GetDefaultAlipayClient()
|
||||
var alipayResp *alipay.TradeQueryResponse
|
||||
alipayResp, err = alipayCli.QueryOrder(ctx, &alipaycli.QueryOrderParam{
|
||||
OutTradeNo: orderId,
|
||||
|
|
|
@ -43,7 +43,6 @@ import (
|
|||
"service/bizcommon/util"
|
||||
"service/dbstruct"
|
||||
"service/library/apollo"
|
||||
"service/library/configcenter"
|
||||
"service/library/contentaudit/imageaudit"
|
||||
"service/library/contentaudit/textaudit"
|
||||
"service/library/logger"
|
||||
|
@ -129,10 +128,7 @@ func (s *Service) Init(c any) (err error) {
|
|||
|
||||
s.defaultMelody = melody.New()
|
||||
|
||||
err = alipaycli.InitMulti([]*configcenter.AlipayClientConfig{
|
||||
cfg.Alipay,
|
||||
cfg.AlipayMYTS,
|
||||
})
|
||||
err = alipaycli.InitMulti(cfg.Alipay, cfg.AlipayMYTS)
|
||||
if err != nil {
|
||||
logger.Error("alipaycli.Init fail, cfg: %v, err: %v", util.ToJson(cfg.Alipay), err)
|
||||
return
|
||||
|
|
|
@ -24,16 +24,20 @@ const (
|
|||
|
||||
var allAlipayClients = map[string]*AlipayClient{}
|
||||
|
||||
func GetAlipayClient() *AlipayClient {
|
||||
func GetDefaultAlipayClient() *AlipayClient {
|
||||
return allAlipayClients[AppIdXinYiDaoLe]
|
||||
}
|
||||
|
||||
func GetAlipayClientByAppId(appId string) *AlipayClient {
|
||||
return allAlipayClients[appId]
|
||||
}
|
||||
|
||||
type AlipayClient struct {
|
||||
*alipay.Client
|
||||
alipayPublicCertPath string
|
||||
}
|
||||
|
||||
func InitMulti(cfgList []*configcenter.AlipayClientConfig) (err error) {
|
||||
func InitMulti(cfgList ...*configcenter.AlipayClientConfig) (err error) {
|
||||
for _, cfg := range cfgList {
|
||||
var cli *AlipayClient
|
||||
cli, err = NewAlipayClient(cfg)
|
||||
|
@ -197,3 +201,26 @@ func (c *AlipayClient) QueryOrder(ctx context.Context, param *QueryOrderParam) (
|
|||
}
|
||||
return
|
||||
}
|
||||
|
||||
// 退款申请
|
||||
type RefundOneParam struct {
|
||||
OutTradeNo string // 商家订单id,我们自己的订单id
|
||||
RefundAmount int64 // 退款金额,单位:分
|
||||
RefundReason string // 退款理由
|
||||
}
|
||||
|
||||
func (c *AlipayClient) RefundOne(ctx context.Context, param *RefundOneParam) (resp *alipay.TradeRefundResponse, err error) {
|
||||
if len(param.RefundReason) <= 0 {
|
||||
param.RefundReason = "退款"
|
||||
}
|
||||
bm := gopay.BodyMap{
|
||||
"out_trade_no": param.OutTradeNo,
|
||||
"refund_amount": fmt.Sprintf("%.2f", float64(param.RefundAmount)/100.0),
|
||||
"refund_reason": param.RefundReason,
|
||||
}
|
||||
resp, err = c.TradeRefund(ctx, bm)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
||||
|
|
|
@ -13,12 +13,12 @@ import (
|
|||
|
||||
func TestMain(m *testing.M) {
|
||||
cfg := new(conf.ConfigSt)
|
||||
err := configcenter.LoadConfig("/Users/erwin/wishpalv2/service/etc/mix/mix-local.yaml", cfg)
|
||||
err := configcenter.LoadConfig("/Users/erwin/wishpalv2/service/etc/mix/mix-prod.yaml", cfg)
|
||||
if err != nil {
|
||||
fmt.Printf("%v\n", err)
|
||||
}
|
||||
|
||||
err = Init(cfg.AlipayMYTS)
|
||||
err = InitMulti(cfg.Alipay, cfg.AlipayMYTS)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
os.Exit(1)
|
||||
|
@ -27,7 +27,7 @@ func TestMain(m *testing.M) {
|
|||
}
|
||||
|
||||
func TestAlipayClient_WapPay(t *testing.T) {
|
||||
cli := GetAlipayClient()
|
||||
cli := GetDefaultAlipayClient()
|
||||
paramStr, err := cli.WapPay(context.Background(), &WapPayParam{
|
||||
OutTradeNo: idgenerator.GenOrderId(),
|
||||
Subject: "哈哈",
|
||||
|
@ -42,7 +42,7 @@ func TestAlipayClient_WapPay(t *testing.T) {
|
|||
}
|
||||
|
||||
func TestAlipayClient_QueryOrder(t *testing.T) {
|
||||
cli := GetAlipayClient()
|
||||
cli := GetDefaultAlipayClient()
|
||||
resp, err := cli.QueryOrder(context.Background(), &QueryOrderParam{
|
||||
OutTradeNo: "1750539072771731456",
|
||||
})
|
||||
|
@ -52,3 +52,17 @@ func TestAlipayClient_QueryOrder(t *testing.T) {
|
|||
}
|
||||
fmt.Println(util.ToJson(resp))
|
||||
}
|
||||
|
||||
func TestAlipayClient_RefundOne(t *testing.T) {
|
||||
cli := GetAlipayClientByAppId(AppIdXinYiDaoLe)
|
||||
resp, err := cli.RefundOne(context.Background(), &RefundOneParam{
|
||||
OutTradeNo: "1750539072771731456",
|
||||
RefundAmount: 0,
|
||||
RefundReason: "测试退款",
|
||||
})
|
||||
if err != nil {
|
||||
fmt.Println(err.Error())
|
||||
return
|
||||
}
|
||||
fmt.Println(util.ToJson(resp))
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue