HuifuBalancePayRefundParam.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. namespace addons\HuifuPay\common\service\params;
  3. use yii\base\BaseObject;
  4. class HuifuBalancePayRefundParam extends BaseObject
  5. {
  6. /**
  7. * 非必填字段
  8. *
  9. */
  10. static function getExtendInfos($splitAccount=[])
  11. {
  12. // 设置非必填字段
  13. $extendInfoMap = array();
  14. // 备注
  15. $extendInfoMap["remark"] = "";
  16. // 分账对象
  17. $extendInfoMap["acct_split_bunch"]= self::getAcctSplitBunch($splitAccount);
  18. // 安全信息
  19. $extendInfoMap["risk_check_data"] = self::getRiskCheckData();
  20. return $extendInfoMap;
  21. }
  22. static function getAcctInfos($splitAccount)
  23. {
  24. $dtoList = array();
  25. foreach ($splitAccount as $key => $value) {
  26. $dto = array();
  27. // 分账金额
  28. $dto["div_amt"] = $value['num'];
  29. // 被分账方ID
  30. $dto["huifu_id"] = $value['id'];
  31. // 账户号
  32. $dto["acct_id"] = "";
  33. array_push($dtoList, $dto);
  34. }
  35. return $dtoList;
  36. }
  37. static function getAcctSplitBunch($splitAccount)
  38. {
  39. $dto = array();
  40. if(empty($splitAccount))
  41. {
  42. return $dto;
  43. }
  44. // 退账明细
  45. $dto["acct_infos"] = self::getAcctInfos($splitAccount);
  46. return json_encode($dto, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
  47. }
  48. static function getRiskCheckData()
  49. {
  50. $dto = array();
  51. // 转账原因
  52. $dto["transfer_type"] = "04";
  53. // 产品子类
  54. $dto["sub_product"] = "余额交易退款";
  55. return json_encode($dto, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
  56. }
  57. }