V2TradeElectronReceiptsCustomentrancesCreateRequestDemo.php 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  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/V2TradeElectronReceiptsCustomentrancesCreateRequest.php";
  12. use BsPaySdk\core\BsPayClient;
  13. use BsPaySdk\request\V2TradeElectronReceiptsCustomentrancesCreateRequest;
  14. // 2.组装请求参数
  15. $request = new V2TradeElectronReceiptsCustomentrancesCreateRequest();
  16. // 请求流水号
  17. $request->setReqSeqId(date("YmdHis").mt_rand());
  18. // 请求日期
  19. $request->setReqDate(date("Ymd"));
  20. // 商户号
  21. $request->setHuifuId("6666000103334211");
  22. // 操作类型
  23. $request->setOperateType("A");
  24. // 设置非必填字段
  25. $extendInfoMap = getExtendInfos();
  26. $request->setExtendInfo($extendInfoMap);
  27. // 3. 发起API调用
  28. $client = new BsPayClient();
  29. $result = $client->postRequest($request);
  30. if (!$result || $result->isError()) { //失败处理
  31. var_dump($result -> getErrorInfo());
  32. } else { //成功处理
  33. var_dump($result);
  34. }
  35. /**
  36. * 非必填字段
  37. *
  38. */
  39. function getExtendInfos() {
  40. // 设置非必填字段
  41. $extendInfoMap = array();
  42. // 票据信息
  43. $extendInfoMap["receipt_data"]= getReceiptData();
  44. return $extendInfoMap;
  45. }
  46. function getJumpLinkData() {
  47. $dto = array();
  48. // 商家小程序AppID
  49. $dto["mini_programs_app_id"] = "oBmItsxLKa6pd5dSHK4xRLXTt05M";
  50. // 商家小程序path
  51. $dto["mini_programs_path"] = "https://wxpaylogo.qpic.cn/wxpaylogo/PiajxSqBRaEIPAeia7ImvtsoMpdQ8uEd23s8VtfKDXa04FZk8kXDeH9Q/0";
  52. return $dto;
  53. }
  54. function getWxReceiptData() {
  55. $dto = array();
  56. // 品牌ID
  57. $dto["brand_id"] = "1";
  58. // 自定义入口种类
  59. $dto["custom_entrance_type"] = "MERCHANT_ACTIVITY";
  60. // 副标题
  61. $dto["sub_title"] = "1";
  62. // 商品缩略图URL
  63. $dto["goods_thumbnail_url"] = "1";
  64. // 入口展示开始时间
  65. $dto["start_time"] = "2023-08-17T13:20:00+08:00";
  66. // 入口展示结束时间
  67. $dto["end_time"] = "2023-08-18T11:20:00+08:00";
  68. // 自定义入口状态
  69. $dto["custom_entrance_state"] = "ONLINE";
  70. // 请求业务单据号
  71. $dto["out_request_no"] = "1";
  72. // 跳转信息
  73. $dto["jump_link_data"] = getJumpLinkData();
  74. return $dto;
  75. }
  76. function getReceiptData() {
  77. $dto = array();
  78. // 三方通道类型
  79. $dto["third_channel_type"] = "T";
  80. // 微信票据信息
  81. $dto["wx_receipt_data"] = getWxReceiptData();
  82. return json_encode($dto,JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);
  83. }