for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace PayumTW\Ips\Action\Api;
use Payum\Core\Bridge\Spl\ArrayObject;
use Payum\Core\Reply\HttpPostRedirect;
use PayumTW\Ips\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());
if ($this->api->isSandbox() === true) {
$details->replace(
$this->api->parseResponse(
$this->api->generateTestingResponse((array) $details)
)
);
return;
}
throw new HttpPostRedirect(
$this->api->getApiEndpoint('capture'),
$this->api->createTransaction((array) $details)
public function supports($request)
return
$request instanceof CreateTransaction &&
$request->getModel() instanceof \ArrayAccess;