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

<?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;
}
}