V2TradePayscoreServiceorderCreateRequestDemo.php 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  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/V2TradePayscoreServiceorderCreateRequest.php";
  12. use BsPaySdk\core\BsPayClient;
  13. use BsPaySdk\request\V2TradePayscoreServiceorderCreateRequest;
  14. // 2.组装请求参数
  15. $request = new V2TradePayscoreServiceorderCreateRequest();
  16. // 汇付商户号
  17. $request->setHuifuId("6666000108854952");
  18. // 请求日期
  19. $request->setReqDate(date("Ymd"));
  20. // 商户申请单号
  21. $request->setReqSeqId(date("YmdHis").mt_rand());
  22. // 服务信息
  23. // $request->setServiceIntroduction("test");
  24. // 服务风险金
  25. // $request->setRiskFund(getRiskFund());
  26. // 服务时间
  27. // $request->setTimeRange(getTimeRange());
  28. // 商户回调地址
  29. // $request->setNotifyUrl("test");
  30. // 设置非必填字段
  31. $extendInfoMap = getExtendInfos();
  32. $request->setExtendInfo($extendInfoMap);
  33. // 3. 发起API调用
  34. $client = new BsPayClient();
  35. $result = $client->postRequest($request);
  36. if (!$result || $result->isError()) { //失败处理
  37. var_dump($result -> getErrorInfo());
  38. } else { //成功处理
  39. var_dump($result);
  40. }
  41. /**
  42. * 非必填字段
  43. *
  44. */
  45. function getExtendInfos() {
  46. // 设置非必填字段
  47. $extendInfoMap = array();
  48. // 服务ID
  49. // $extendInfoMap["service_id"]= "";
  50. // 子商户公众号ID
  51. // $extendInfoMap["sub_appid"]= "";
  52. // 后付费项目
  53. // $extendInfoMap["post_payments"]= getPostPayments();
  54. // 商户优惠
  55. // $extendInfoMap["post_discounts"]= getPostDiscounts();
  56. // 服务位置
  57. // $extendInfoMap["location"]= getLocation();
  58. // 从业机构公众号下的用户标识
  59. // $extendInfoMap["openid"]= "";
  60. // 子商户公众号下的用户标识
  61. // $extendInfoMap["sub_openid"]= "";
  62. // 附加数据
  63. // $extendInfoMap["attach"]= "";
  64. // 场景类型
  65. // $extendInfoMap["trade_scene"]= "";
  66. // 费率类型
  67. // $extendInfoMap["pay_scene"]= "";
  68. return $extendInfoMap;
  69. }
  70. function getPostPayments() {
  71. $dto = array();
  72. // 付费名称
  73. // $dto["name"] = "";
  74. // 付费金额
  75. // $dto["amount"] = "";
  76. // 付费说明
  77. // $dto["description"] = "";
  78. // 付费数量
  79. // $dto["count"] = "";
  80. $dtoList = array();
  81. array_push($dtoList, $dto);
  82. return json_encode($dtoList,JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);
  83. }
  84. function getPostDiscounts() {
  85. $dto = array();
  86. // 优惠名称
  87. // $dto["name"] = "";
  88. // 优惠金额
  89. // $dto["amount"] = "";
  90. // 优惠说明
  91. // $dto["description"] = "";
  92. // 优惠数量
  93. // $dto["count"] = "";
  94. $dtoList = array();
  95. array_push($dtoList, $dto);
  96. return json_encode($dtoList,JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);
  97. }
  98. function getRiskFund() {
  99. $dto = array();
  100. // 风险名称
  101. // $dto["name"] = "";
  102. // 风险金额
  103. // $dto["amount"] = "";
  104. // 风险说明
  105. // $dto["description"] = "";
  106. return json_encode($dto,JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);
  107. }
  108. function getTimeRange() {
  109. $dto = array();
  110. // 服务开始时间
  111. // $dto["start_time"] = "";
  112. // 服务结束时间
  113. // $dto["end_time"] = "";
  114. // 服务开始时间备注
  115. // $dto["start_time_remark"] = "";
  116. // 服务结束时间备注
  117. // $dto["end_time_remark"] = "";
  118. return json_encode($dto,JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);
  119. }
  120. function getLocation() {
  121. $dto = array();
  122. // 服务开始地点
  123. // $dto["start_location"] = "";
  124. // 服务结束地点
  125. // $dto["end_location"] = "";
  126. return json_encode($dto,JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);
  127. }