V2TradePaymentDelaytransConfirmrefundRequestDemo.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  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/V2TradePaymentDelaytransConfirmrefundRequest.php";
  12. use BsPaySdk\core\BsPayClient;
  13. use BsPaySdk\request\V2TradePaymentDelaytransConfirmrefundRequest;
  14. // 2.组装请求参数
  15. $request = new V2TradePaymentDelaytransConfirmrefundRequest();
  16. // 请求日期
  17. $request->setReqDate(date("Ymd"));
  18. // 请求流水号
  19. $request->setReqSeqId(date("YmdHis").mt_rand());
  20. // 商户号
  21. $request->setHuifuId("6666000103423237");
  22. // 原交易请求日期
  23. $request->setOrgReqDate("20221108");
  24. // 原交易请求流水号
  25. $request->setOrgReqSeqId("20221108349713659620211667908395");
  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["acct_split_bunch"]= getAcctSplitBunch();
  46. // 是否垫资退款
  47. // $extendInfoMap["loan_flag"]= "";
  48. // 垫资承担者
  49. // $extendInfoMap["loan_undertaker"]= "";
  50. // 垫资账户类型
  51. // $extendInfoMap["loan_acct_type"]= "";
  52. return $extendInfoMap;
  53. }
  54. function getAcctInfos() {
  55. $dto = array();
  56. // 被分账方ID
  57. $dto["huifu_id"] = "6666000003109208";
  58. // 分账金额
  59. $dto["div_amt"] = "0.01";
  60. // 垫资金额
  61. // $dto["part_loan_amt"] = "";
  62. $dtoList = array();
  63. array_push($dtoList, $dto);
  64. return $dtoList;
  65. }
  66. function getAcctSplitBunch() {
  67. $dto = array();
  68. // 分账明细
  69. $dto["acct_infos"] = getAcctInfos();
  70. return json_encode($dto,JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);
  71. }