V2TradeOnlinepaymentQuickpayApply.php 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. <?php
  2. /**
  3. * 快捷支付申请 - 示例
  4. *
  5. * @author sdk-generator
  6. * @Description
  7. */
  8. namespace BsPayClassify;
  9. use BsPaySdk\core\BsPayClient;
  10. use BsPaySdk\request\V2TradeOnlinepaymentQuickpayApplyRequest;
  11. class V2TradeOnlinepaymentQuickpayApply extends BaseInfo
  12. {
  13. public function index($data)
  14. {
  15. // 2.组装请求参数
  16. $request = new V2TradeOnlinepaymentQuickpayApplyRequest();
  17. // 请求日期
  18. $request->setReqDate(date("Ymd"));
  19. // 请求流水号
  20. $request->setReqSeqId($data['req_seq_id']);
  21. // 商户号
  22. $request->setHuifuId($data['huifu_id']);
  23. // 订单金额
  24. $request->setTransAmt($data['trans_amt']);
  25. // 绑卡id
  26. $request->setCardBindId($data['card_bind_id']);
  27. // 异步通知地址
  28. $request->setNotifyUrl($data['notify_url']);
  29. // 用户客户号
  30. $request->setUserHuifuId($data['user_huifu_id']);
  31. // 安全信息
  32. $request->setRiskCheckData($this->getRiskCheckData());
  33. // 设备数据
  34. $request->setTerminalDeviceData($this->getTerminalDeviceData());
  35. // 银行扩展字段
  36. $request->setExtendPayData($this->getExtendPayData());
  37. // 设置非必填字段
  38. $extendInfoMap = $this->getExtendInfos($data);
  39. $request->setExtendInfo($extendInfoMap);
  40. // 3. 发起API调用
  41. $client = new BsPayClient();
  42. $result = $client->postRequest($request);
  43. return $result;
  44. }
  45. /**
  46. * 非必填字段
  47. *
  48. */
  49. function getExtendInfos($data) {
  50. // 设置非必填字段
  51. $extendInfoMap = array();
  52. // 订单类型
  53. $extendInfoMap["order_type"]= "P";
  54. // 备注
  55. $extendInfoMap["remark"]= $data['good_desc'];
  56. // 订单失效时间
  57. // $extendInfoMap["time_expire"]= "";
  58. // 补贴支付信息
  59. // $extendInfoMap["combinedpay_data"]= getCombinedpayData();
  60. // 分账对象
  61. // $extendInfoMap["acct_split_bunch"]= getAcctSplitBunchRucan();
  62. // 是否延迟交易
  63. $extendInfoMap["delay_acct_flag"]= "N";
  64. // 手续费扣款标志
  65. // $extendInfoMap["fee_flag"]= "";
  66. return $extendInfoMap;
  67. }
  68. function getRiskCheckData() {
  69. $dto = array();
  70. // ip地址
  71. $dto["ip_addr"] = "106.33.180.238";
  72. // 基站地址
  73. // $dto["base_station"] = "";
  74. // 纬度
  75. // $dto["latitude"] = "";
  76. // 经度
  77. // $dto["longitude"] = "";
  78. return json_encode($dto,JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);
  79. }
  80. function getTerminalDeviceData() {
  81. $dto = array();
  82. // 交易设备ip
  83. $dto["device_ip"] = "106.33.180.238";
  84. // 设备类型
  85. $dto["device_type"] = "1";
  86. // 交易设备gps
  87. // $dto["device_gps"] = "";
  88. // 交易设备iccid
  89. // $dto["device_icc_id"] = "";
  90. // 交易设备imei
  91. // $dto["device_imei"] = "";
  92. // 交易设备imsi
  93. // $dto["device_imsi"] = "";
  94. // 交易设备mac
  95. // $dto["device_mac"] = "";
  96. // 交易设备wifimac
  97. // $dto["device_wifi_mac"] = "";
  98. return json_encode($dto,JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);
  99. }
  100. function getCombinedpayData() {
  101. $dto = array();
  102. // 补贴方汇付编号
  103. // $dto["huifu_id"] = "test";
  104. // 补贴方类型
  105. // $dto["user_type"] = "test";
  106. // 补贴方账户号
  107. // $dto["acct_id"] = "test";
  108. // 补贴金额
  109. // $dto["amount"] = "test";
  110. $dtoList = array();
  111. array_push($dtoList, $dto);
  112. return json_encode($dtoList,JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);
  113. }
  114. function getAcctInfos() {
  115. $dto = array();
  116. // 分账金额
  117. // $dto["div_amt"] = "";
  118. // 被分账方ID
  119. // $dto["huifu_id"] = "";
  120. // 账户号
  121. // $dto["acct_id"] = "";
  122. $dtoList = array();
  123. array_push($dtoList, $dto);
  124. return $dtoList;
  125. }
  126. function getAcctSplitBunchRucan() {
  127. $dto = array();
  128. // 分账信息列表
  129. // $dto["acct_infos"] = getAcctInfos();
  130. return json_encode($dto,JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);
  131. }
  132. function getExtendPayData() {
  133. $dto = array();
  134. // 业务种类
  135. // $dto["biz_tp"] = "test";
  136. // 商品简称
  137. // $dto["goods_short_name"] = "test";
  138. // 网关支付受理渠道
  139. $dto["gw_chnnl_tp"] = "99";
  140. return json_encode($dto,JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);
  141. }
  142. }