@@ -24,33 +24,43 @@ public function setUp(): void
2424
2525 public function testPurchase ()
2626 {
27+ $ this ->setMockHttpResponse ('PurchaseSuccess.txt ' );
28+
2729 $ response = $ this ->gateway ->purchase ([
2830 'secondtimestamp ' => 1674157848 ,
2931 'total_fee ' => 100 ,
30- 'out_trade_no ' => '1000201701201708041015eNuBrl6P ' ,
32+ 'out_trade_no ' => '100020170117111010101 ' ,
3133 'returnurl ' => 'https://foo.bar/returnurl ' ,
34+ 'description ' => '商品 ' ,
3235 ])->send ();
3336
3437 self ::assertFalse ($ response ->isSuccessful ());
3538 self ::assertTrue ($ response ->isRedirect ());
36- self ::assertEquals ('https://api.wan-pay.com/wxzfservice/waporder ' , $ response ->getRedirectUrl ());
37- self ::assertEquals ('POST ' , $ response ->getRedirectMethod ());
39+ self ::assertEquals ('https://ixmfree.net/index.php?g=wxuser&m=payment&a=fast ' , $ response ->getRedirectUrl ());
40+ self ::assertEquals ('GET ' , $ response ->getRedirectMethod ());
41+ self ::assertEquals ('100020170117111010101 ' , $ response ->getTransactionId ());
42+
43+ $ request = $ this ->getMockClient ()->getLastRequest ();
44+ $ requestBody = [];
45+ parse_str ((string ) $ request ->getBody (), $ requestBody );
46+
3847 self ::assertEquals ([
3948 'orgno ' => '21008024 ' ,
40- 'secondtimestamp ' => 1674157848 ,
41- 'nonce_str ' => '8c90afc4 ' ,
42- 'sign ' => 'AC2B51CAA7996D8CC95A11080AC6F011 ' ,
49+ 'secondtimestamp ' => ' 1674157848 ' ,
50+ 'nonce_str ' => '78cc54e7 ' ,
51+ 'sign ' => 'DE642DE89F22E1B293E7FB816A2F9252 ' ,
4352 'total_fee ' => '10000 ' ,
44- 'out_trade_no ' => '1000201701201708041015eNuBrl6P ' ,
53+ 'out_trade_no ' => '100020170117111010101 ' ,
4554 'type ' => 'AUTH_3DTRXTOKEN ' ,
4655 'returnurl ' => 'https://foo.bar/returnurl ' ,
4756 'ipoolid ' => '10703 ' ,
48- ], $ response ->getRedirectData ());
57+ 'body ' => '商品 ' ,
58+ ], $ requestBody );
4959 }
5060
5161 public function testCompletePurchase ()
5262 {
53- $ response = 'https://member.healthchain.com.tw/MHC01SSV2TEST/Checkout/CheckOutShowResultWangPay.aspx?authcode=154566&bankcard=552199******1898&nonce_str=46444248&orgno=21001719&out_trade_no=040911560243087HRC&result=核准&secondtimestamp=1586404583&status=0000&total_fee=100&orderdate=2020-04-09 11:56:02&trxtoken=&storename=旺旺電子商務-快點付&details=固定金額 免收件地址&payername=0409&payermobile=0409&payeremail=0409&sign=C720CD30C24DB5A372A33B90D2906C46 ' ;
63+ $ response = 'https://member.healthchain.com.tw/MHC01SSV2TEST/Checkout/CheckOutShowResultWangPay.aspx?authcode=154566&bankcard=552199******1898&nonce_str=46444248&orgno=21001719&out_trade_no=040911560243087HRC&result=核准&secondtimestamp=1586404583&status=0000&total_fee=100&orderdate=2020-04-09 11:56:02&trxtoken=&storename=旺旺電子商務-快點付&details=固定金額 免收件地址&payername=0409&payermobile=0409&payeremail=0409&sign=7F015EB2B4674CD76C9C62090B6DF3E2 ' ;
5464 $ parsed = parse_url ($ response );
5565 $ options = [];
5666 parse_str ($ parsed ['query ' ], $ options );
0 commit comments