You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

87 lines
2.8 KiB

  1. <?php
  2. namespace HyperfTest\Cases;
  3. use App\Service\v3\CCBPayment;
  4. use Hyperf\Utils\ApplicationContext;
  5. use HyperfTest\HttpTestCase;
  6. class CCBTest extends HttpTestCase
  7. {
  8. public function testSign()
  9. {
  10. $ccb = ApplicationContext::getContainer()->get(CCBPayment::class);
  11. $data = "Write Once, Run Anywhere";
  12. $result = $ccb->sign($data);
  13. $s = 'odUeD1V6obC/j8lUvmFwn6LSQ2DrvaDEin5DKs0FiB/HttboPJncmLisH22Y1grPezE0a+Ij6cdd5Taof8e4A76pKdXA+hDGz0nPMlCRgSF5tHQ6uVXktL/3lqpVTX6ECjRoHmzmo6cAMqVXYQKEl56r4gJcBPW4X4ghRtTgw9AK8+8b8O5EAqxuPxMyhSOYrCsUYRXapezV3uioEReYjvhg/u+kRf662P2nL0ab3szGMXMAoE+JjgMAHR9WCL3Can/5ADgoFff/7kMSxrA7/r94EfkDN50IvRVAx9WBLx3+WWcRRfM6JcqZ91B+g00wYN/OSZHTJDPgV6Ofd5cBpA==';
  14. $this->assertTrue($result == $s);
  15. }
  16. public function testCreateSign()
  17. {
  18. $ccb = ApplicationContext::getContainer()->get(CCBPayment::class);
  19. $params = json_decode('{"Blank3":" ","Blank2":"","Sign_Inf":"signInf","Rsp_Inf":"rspInf","Svc_Rsp_St":"svcRspSt","Svc_Rsp_Cd":"svcRspCd","Amt":"amt","Pymd_Cd":"pymdCd","Parlist":[{"Seq_No":"seqNo","Mkt_Mrch_Id":"mktMrchIdFj"},{"Seq_No":"seqNo","Xbb":[{"sdc":"1131","xyz":"xxxx"}],"Mkt_Mrch_Id":"mktMrchIdFj2"},{"Seq_No":"seqNo3","Mkt_Mrch_Id":"mktMrchIdFj3"}]}', true);
  20. $str = $ccb->createSign($params);
  21. $s = 'Amt=amt&Mkt_Mrch_Id=mktMrchIdFj&Seq_No=seqNo&Mkt_Mrch_Id=mktMrchIdFj2&Seq_No=seqNo&sdc=1131&xyz=xxxx&Mkt_Mrch_Id=mktMrchIdFj3&Seq_No=seqNo3&Pymd_Cd=pymdCd';
  22. $this->assertTrue($str == $s);
  23. }
  24. public function testOrder()
  25. {
  26. $ccb = ApplicationContext::getContainer()->get(CCBPayment::class);
  27. $parList = [];
  28. $parList[] = $ccb->parListItem(1, '41060860800469000000');
  29. $parList[] = $ccb->parListItem(2, '41060860800469061877');
  30. $subOrderList[] = $ccb->subOrderListItem(
  31. '41060860800469061877',
  32. '151152',
  33. '1.23',
  34. '1.23',
  35. 'F410608608004691879',
  36. $parList
  37. );
  38. $parList = [];
  39. $parList[] = $ccb->parListItem(1, '41060860800469000000');
  40. $parList[] = $ccb->parListItem(2, '41060860800469061878');
  41. $subOrderList[] = $ccb->subOrderListItem(
  42. '41060860800469061878',
  43. '151153',
  44. '1.00',
  45. '1.00',
  46. 'F410608608004691879',
  47. $parList
  48. );
  49. $result = $ccb->gatherPlaceorder(
  50. 'c2020060915410278957',
  51. '2.23',
  52. '2.23',
  53. '03',
  54. '',
  55. '',
  56. $subOrderList
  57. );
  58. var_export($result);
  59. }
  60. public function testQuery()
  61. {
  62. $ccb = ApplicationContext::getContainer()->get(CCBPayment::class);
  63. $result = $ccb->gatherEnquireOrder('c2020060915410278956');
  64. var_dump($result);
  65. }
  66. }