for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace PayumTW\Collect\Action\Api;
use Payum\Core\Bridge\Spl\ArrayObject;
use Payum\Core\Reply\HttpPostRedirect;
use PayumTW\Collect\Request\Api\CreateTransaction;
use Payum\Core\Exception\RequestNotSupportedException;
class CreateTransactionAction extends BaseApiAwareAction
{
/**
* {@inheritdoc}
*
* @param $request CreateTransaction
*/
public function execute($request)
RequestNotSupportedException::assertSupports($this, $request);
$details = ArrayObject::ensureArrayObject($request->getModel());
$details->validateNotEmpty(['cust_order_no', 'order_amount', 'order_detail']);
$params = $this->api->createTransaction((array) $details);
if (isset($params['status']) === true) {
$details->replace($params);
return;
}
throw new HttpPostRedirect(
$this->api->getApiEndpoint(), $params
);
public function supports($request)
return
$request instanceof CreateTransaction &&
$request->getModel() instanceof \ArrayAccess;