V2QuickbuckleWithholdPageGetRequestDemo.php 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. <?php
  2. /**
  3. * 代扣绑卡页面版 - 示例
  4. *
  5. * @author sdk-generator
  6. * @Description
  7. */
  8. namespace BsPayDemo;
  9. // 1. 资源及配置加载
  10. require_once dirname(__FILE__) . "/loader.php";
  11. require_once dirname(__FILE__). "/../BsPaySdk/request/V2QuickbuckleWithholdPageGetRequest.php";
  12. use BsPaySdk\core\BsPayClient;
  13. use BsPaySdk\request\V2QuickbuckleWithholdPageGetRequest;
  14. // 2.组装请求参数
  15. $request = new V2QuickbuckleWithholdPageGetRequest();
  16. // 请求流水号
  17. $request->setReqSeqId(date("YmdHis").mt_rand());
  18. // 请求时间
  19. $request->setReqDate(date("Ymd"));
  20. // 汇付Id
  21. $request->setHuifuId("6666000103422897");
  22. // 订单号
  23. $request->setOrderId("SAS20230807102136898274149");
  24. // 订单日期
  25. $request->setOrderDate("20230807");
  26. // 设置非必填字段
  27. $extendInfoMap = getExtendInfos();
  28. $request->setExtendInfo($extendInfoMap);
  29. // 3. 发起API调用
  30. $client = new BsPayClient();
  31. $result = $client->postRequest($request);
  32. if (!$result || $result->isError()) { //失败处理
  33. var_dump($result -> getErrorInfo());
  34. } else { //成功处理
  35. var_dump($result);
  36. }
  37. /**
  38. * 非必填字段
  39. *
  40. */
  41. function getExtendInfos() {
  42. // 设置非必填字段
  43. $extendInfoMap = array();
  44. // 页面有效期
  45. $extendInfoMap["expire_time"]= "20";
  46. // 页面跳转地址
  47. $extendInfoMap["return_url"]= "https://api.huifu.com";
  48. // 客户用户号
  49. $extendInfoMap["out_cust_id"]= "Q837467382819";
  50. // 用户汇付号
  51. $extendInfoMap["user_huifu_id"]= "6666000107386236";
  52. // 异步通知地址
  53. $extendInfoMap["notify_url"]= "https://api.huifu.com";
  54. // 设备信息域
  55. $extendInfoMap["trx_device_info"]= getTrxDeviceInfo();
  56. // 风控信息
  57. $extendInfoMap["risk_info"]= getRiskInfo();
  58. return $extendInfoMap;
  59. }
  60. function getTrxDeviceInfo() {
  61. $dto = array();
  62. // 银行预留手机号
  63. $dto["trx_mobile_num"] = "13428722321";
  64. // 设备类型
  65. $dto["trx_device_type"] = "1";
  66. // 交易设备IP
  67. $dto["trx_device_ip"] = "192.168.1.1";
  68. // 交易设备MAC
  69. $dto["trx_device_mac"] = "10.10.0.1";
  70. // 交易设备IMEI
  71. $dto["trx_device_imei"] = "imei";
  72. // 交易设备IMSI
  73. $dto["trx_device_imsi"] = "imsi";
  74. // 交易设备ICCID
  75. $dto["trx_device_icc_id"] = "icc";
  76. // 交易设备WIFIMAC
  77. $dto["trx_device_wfifi_mac"] = "wfifi";
  78. // 交易设备GPS
  79. $dto["trx_device_gps"] = "gps";
  80. return json_encode($dto,JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);
  81. }
  82. function getRiskInfo() {
  83. $dto = array();
  84. // IP类型
  85. $dto["ip_type"] = "04";
  86. // IP值
  87. $dto["source_ip"] = "1.1.1.1";
  88. // 设备标识
  89. $dto["device_id"] = "";
  90. // 设备类型
  91. $dto["device_type"] = "";
  92. // 银行预留手机号
  93. $dto["mobile"] = "";
  94. return json_encode($dto,JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);
  95. }