/** * {@inheritDoc} * * @param Convert $request */ public function execute($request) { RequestNotSupportedException::assertSupports($this, $request); /** @var PaymentInterface $payment */ $payment = $request->getSource(); $details = ArrayObject::ensureArrayObject($payment->getDetails()); $details->defaults(array('Ds_Merchant_Amount' => $payment->getTotalAmount(), 'Ds_Merchant_Order' => $this->api->ensureCorrectOrderNumber($payment->getNumber()), 'Ds_Merchant_MerchantCode' => $this->api->getMerchantCode(), 'Ds_Merchant_Currency' => $this->api->getISO4127($payment->getCurrencyCode()), 'Ds_Merchant_TransactionType' => Api::TRANSACTIONTYPE_AUTHORIZATION, 'Ds_Merchant_Terminal' => $this->api->getMerchantTerminalCode())); $request->setResult((array) $details); }
/** * @test */ public function ISO4127Test() { $options = array('merchant_code' => 'a_merchant_code', 'terminal' => 'a_terminal', 'secret_key' => 'a_secret_key', 'sandbox' => true); $api = new Api($options); $this->assertEquals('978', $api->getISO4127('EUR')); $this->assertEquals('840', $api->getISO4127('USD')); }