lokielse / omnipay-unionpay

UnionPay driver for the Omnipay PHP payment processing library
MIT License
112 stars 43 forks source link

退款时报出异常需要4个参数,但是本项目中退款只需要3个参数 #22

Closed jiker-burce closed 6 years ago

jiker-burce commented 6 years ago

根据您此项目中的 退款,需要的参数是:'orderId', 'txnTime', 'txnAmt' 但是,调用refund()方法时,出现下面异常:

/data/www/benefits-platform/vendor/lokielse/omnipay-
unionpay/src/Message/ExpressRefundRequest.php(22): Omnipa
y\Common\Message\AbstractRequest->validate('orderId', 'txnTime', 'txnAmt', 'queryId')

需要4个参数的不是undo(撤销)方法吗?

lokielse commented 6 years ago

我刚去看了一下官方文档

消费撤销和退款都需要传queryId这个参数。

你说的根据项目中的退款,指的是README中的代码片段吧?

$response = $gateway->refund([
    'orderId' => '20150815121214', //Your site trade no, not union tn.
    'txnTime' => '20150815121214', //Order trade time
    'txnAmt'  => '200', //Order total fee
])->send();

var_dump($response->isSuccessful());
var_dump($response->getData());

本项目中有误的部分欢迎fork后进行修正并进行PR。

jiker-burce commented 6 years ago

@lokielse 加了queryId,但是出现"respMsg" => "重复交易[2010002]",,请问这是啥原因呢?