for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace PayumTW\Ecpay\Action;
use Payum\Core\Request\Convert;
use Payum\Core\Action\ActionInterface;
use Payum\Core\Bridge\Spl\ArrayObject;
use Payum\Core\Model\PaymentInterface;
use Payum\Core\Exception\RequestNotSupportedException;
class ConvertPaymentLogisticsAction implements ActionInterface
{
/**
* {@inheritdoc}
*
* @param Convert $request
*/
public function execute($request)
RequestNotSupportedException::assertSupports($this, $request);
/** @var PaymentInterface $payment */
$payment = $request->getSource();
$details = ArrayObject::ensureArrayObject($payment->getDetails());
$details['MerchantTradeNo'] = $payment->getNumber();
$details['ReceiverEmail'] = $payment->getClientEmail();
$details['GoodsAmount'] = $payment->getTotalAmount();
$details['TradeDesc'] = $payment->getDescription();
$details['AllPayLogisticsID'] = $details['MerchantTradeNo'];
$request->setResult((array) $details);
}
public function supports($request)
return
$request instanceof Convert &&
$request->getSource() instanceof PaymentInterface &&
$request->getTo() == 'array';