You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.5 KiB
48 lines
1.5 KiB
<?php
|
|
|
|
namespace yisheng\pay;
|
|
|
|
|
|
use yisheng\Base;
|
|
|
|
class Refund extends Base
|
|
{
|
|
|
|
/**
|
|
* 退款
|
|
* @param string $ori_order_number 原订单编号
|
|
* @param string $refund_number 商户退款单号,自己生成用于自己识别即可
|
|
* @param float $refund_money 订单退款金额
|
|
* @date 2022-06-07
|
|
*/
|
|
public function refund($ori_order_number, $refund_number, $refund_money = 0)
|
|
{
|
|
//请求参数
|
|
$data = [
|
|
'orgId' => $this->config['org_id'], //客户编号
|
|
'orgMerCode' => $this->config['org_mercode'], //交易商户号
|
|
'orgTermNo' => $this->config['org_termno'], //交易终端号
|
|
'orgTrace' => $refund_number, //外部系统订单号(确保唯一,前后不允许带空格) 交易流水号
|
|
'signType' => 'RSA', //签名方式
|
|
//业务请求数据,签名数据
|
|
'bizData' => [
|
|
'oriOrgTrace' => $ori_order_number,
|
|
'transAmt' => (string)($refund_money * 100),
|
|
// 'transCount'=> (string)1, //TODO
|
|
],
|
|
];
|
|
$data['sign'] = $this->getSign($data['bizData']); //签名
|
|
|
|
$this->setUrl($this->baseUrlLedger);
|
|
|
|
$result = $this->actionApi($data, '/ledger/mposrefund');
|
|
|
|
|
|
// 记录日志
|
|
$uid = defined('UID') ? UID : '';
|
|
platformLog($data, $result, 'yisheng_pay_refund_uid_' . $uid);
|
|
|
|
return $result;
|
|
}
|
|
|
|
} |