forked from smartwalle/alipay
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtrade_test.go
86 lines (78 loc) · 2.03 KB
/
trade_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
package alipay_test
import (
"github.com/smartwalle/alipay"
"testing"
)
func TestAliPay_TradeAppPay(t *testing.T) {
t.Log("========== TradeAppPay ==========")
var p = alipay.TradeAppPay{}
p.NotifyURL = "http://203.86.24.181:3000/alipay"
p.Body = "body"
p.Subject = "商品标题"
p.OutTradeNo = "01010101"
p.TotalAmount = "100.00"
p.ProductCode = "p_1010101"
param, err := client.TradeAppPay(p)
if err != nil {
t.FailNow()
}
t.Log(param)
}
func TestAliPay_TradePagePay(t *testing.T) {
t.Log("========== TradePagePay ==========")
var p = alipay.TradePagePay{}
p.NotifyURL = "http://220.112.233.229:3000/alipay"
p.ReturnURL = "http://220.112.233.229:3000"
p.Subject = "修正了中文的 Bug"
p.OutTradeNo = "trade_no_20170623011121d"
p.TotalAmount = "10.00"
p.ProductCode = "FAST_INSTANT_TRADE_PAY"
url, err := client.TradePagePay(p)
if err != nil {
t.Fatal(err)
}
t.Log(url)
}
func TestAliPay_TradePreCreate(t *testing.T) {
t.Log("========== TradePreCreate ==========")
var p = alipay.TradePreCreate{}
p.OutTradeNo = "no_0001"
p.Subject = "测试订单"
p.TotalAmount = "10.10"
rsp, err := client.TradePreCreate(p)
if err != nil {
t.Fatal(err)
}
if rsp.Content.Code != alipay.K_SUCCESS_CODE {
t.Fatal(rsp.Content.Msg, rsp.Content.SubMsg)
}
t.Log(rsp.Content.QRCode)
}
func TestAliPay_TradePay(t *testing.T) {
t.Log("========== Trade ==========")
var p = alipay.TradePay{}
p.OutTradeNo = "no_000111"
p.Subject = "测试订单"
p.TotalAmount = "10.10"
p.Scene = "bar_code"
p.AuthCode = "扫描用户的支付码"
rsp, err := client.TradePay(p)
if err != nil {
t.Fatal(err)
}
if rsp.AliPayTradePay.Code != alipay.K_SUCCESS_CODE {
t.Fatal(rsp.AliPayTradePay.Msg, rsp.AliPayTradePay.SubMsg)
}
t.Log(rsp.AliPayTradePay.Msg)
}
func TestAliPay_TradeRefund(t *testing.T) {
t.Log("========== TradeRefund ==========")
var p = alipay.TradeRefund{}
p.RefundAmount = "10"
p.OutTradeNo = "trade_no_20170623011121"
rsp, err := client.TradeRefund(p)
if err != nil {
t.Fatal(err)
}
t.Logf("%v", rsp.AliPayTradeRefund)
}