QuickbuckleApply.php 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. <?php
  2. /**
  3. * 快捷绑卡申请接口 - 示例
  4. *
  5. * @author sdk-generator
  6. * @Description
  7. */
  8. namespace BsPayClassify;
  9. use BsPaySdk\core\BsPayClient;
  10. use BsPaySdk\request\V2QuickbuckleApplyRequest;
  11. class QuickbuckleApply extends BaseInfo{
  12. function apply($data=array()){
  13. // 2.组装请求参数
  14. $request = new V2QuickbuckleApplyRequest();
  15. // 请求日期
  16. $request->setReqDate(date("Ymd"));
  17. // 请求流水号
  18. $request->setReqSeqId($data['ReqSeqId']);
  19. // 汇付客户Id
  20. $request->setHuifuId($data['huifuID']);
  21. // 商户用户id
  22. $request->setOutCustId($data['OutCustId']);
  23. // 订单号
  24. $request->setOrderId($data['orderID']);
  25. // 订单日期
  26. $request->setOrderDate(date("Ymd"));
  27. // 银行卡号
  28. $request->setCardId($data['CardID']);
  29. // 银行卡开户姓名
  30. $request->setCardName($data['CardName']);
  31. // 银行卡绑定证件类型
  32. $request->setCertType("00");
  33. // 银行卡绑定身份证
  34. $request->setCertId($data['CertID']);
  35. // 个人证件有效期类型
  36. $request->setCertValidityType($data['type']);
  37. // 个人证件有效期起始日
  38. $request->setCertBeginDate($data['startDate']);
  39. // 个人证件有效期到期日长期有效不填;&lt;font color&#x3D;&quot;green&quot;&gt;示例值:20420905&lt;/font&gt;
  40. if ($data['type']==0){
  41. $request->setCertEndDate($data['endDate']);
  42. }
  43. // 银行卡绑定手机号
  44. $request->setCardMp($data['mobile']);
  45. // CVV2信用卡交易专用需要密文传输。&lt;br/&gt;使用汇付RSA公钥加密(加密前3位,加密后最长2048位),[参见参考文档](https://paas.huifu.com/partners/guide/#/api_jiami_jiemi);&lt;br/&gt;&lt;font color&#x3D;&quot;green&quot;&gt;示例值:Ly+fnExeyPOTzfOtgRRur77nJB9TAe4PGgK9M……fc6XJXZss&#x3D;&lt;/font&gt;
  46. // $request->setVipCode("BndOZvPCXIMcRJi1uCkw4DiNHht+KkARa+sbKbiLh4cXhjywxYM8GMl7g1a5cc1aD2PD6rVvnGzhhgpJ8mzeb/gbzNcYbU5hEXJZm5HShghGucQJB/SoqCIlyaWlz3hnclaGzznWJa5qNa50mCxVqX4zbpuGPWXv+8AnYTu8/Vk=");
  47. // 卡有效期信用卡交易专用,格式:MMYY,需要密文传输;&lt;br/&gt;使用汇付RSA公钥加密(加密前4位,加密后最长2048位),[参见参考文档](https://paas.huifu.com/partners/guide/#/api_jiami_jiemi);&lt;br/&gt;&lt;font color&#x3D;&quot;green&quot;&gt;示例值:Ly+fnExeyPOTzfOtgRRur77nJB9TAe4PGgK9M……fc6XJXZss&#x3D;JXZss&#x3D;&lt;/font&gt;
  48. // $request->setExpiration("test");
  49. // 挂网协议编号授权信息(招行绑卡需要上送);&lt;font color&#x3D;&quot;green&quot;&gt;示例值:34463343&lt;/font&gt;
  50. if (isset($data['protocol_no'])){
  51. $request->setProtocolNo($data['protocol_no']);
  52. }
  53. // $request->setProtocolNo("test");
  54. // 设备信息域 
  55. // $request->setTrxDeviceInf(getTrxDeviceInf());
  56. // 设置非必填字段
  57. $extendInfoMap = $this->getExtendInfos();
  58. $request->setExtendInfo($extendInfoMap);
  59. // 3. 发起API调用
  60. $client = new BsPayClient();
  61. $result = $client->postRequest($request);
  62. return $result;
  63. }
  64. /**
  65. * 非必填字段
  66. *
  67. */
  68. function getExtendInfos() {
  69. // 设置非必填字段
  70. $extendInfoMap = array();
  71. // 商户名称
  72. // $extendInfoMap["merch_name"]= "测试";
  73. // 电子邮箱
  74. // $extendInfoMap["email"]= "changliang.wang@huifu.com";
  75. // 卡的借贷类型
  76. // $extendInfoMap["dc_type"]= "";
  77. // 风控信息
  78. // $extendInfoMap["risk_info"]= getRiskInfo();
  79. return $extendInfoMap;
  80. }
  81. function getTrxDeviceInf() {
  82. $dto = array();
  83. // 银行预留手机号
  84. // $dto["trx_mobile_num"] = "test";
  85. // 设备类型
  86. // $dto["trx_device_type"] = "test";
  87. // 交易设备IP
  88. // $dto["trx_device_ip"] = "test";
  89. // 交易设备MAC
  90. // $dto["trx_device_mac"] = "test";
  91. // 交易设备IMEI
  92. // $dto["trx_device_imei"] = "test";
  93. // 交易设备IMSI
  94. // $dto["trx_device_imsi"] = "test";
  95. // 交易设备ICCID
  96. // $dto["trx_device_icc_id"] = "test";
  97. // 交易设备WIFIMAC
  98. // $dto["trx_device_wfifi_mac"] = "test";
  99. // 交易设备GPS
  100. // $dto["trx_device_gps"] = "test";
  101. return json_encode($dto,JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);
  102. }
  103. function getRiskInfo() {
  104. $dto = array();
  105. // IP类型
  106. // $dto["ip_type"] = "test";
  107. // IP值
  108. // $dto["source_ip"] = "test";
  109. // 设备标识
  110. // $dto["device_id"] = "";
  111. // 设备类型
  112. // $dto["device_type"] = "";
  113. // 银行预留手机号
  114. // $dto["mobile"] = "";
  115. return json_encode($dto,JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);
  116. }
  117. }