示例#1
0
 public function testNotFound()
 {
     \Paynl\Config::setApiToken('1234567894561234567');
     $this->setDummyData();
     $this->setExpectedException('\\Paynl\\Error\\NotFound');
     \Paynl\Currency::getCurrencyId('ZZZ');
 }
示例#2
0
 private function setDummyData($name)
 {
     $this->testApiResult = file_get_contents(dirname(__FILE__) . '/dummyData/Validate/' . $name . '.json');
     $curl = new \Paynl\Curl\Dummy();
     $curl->setResult($this->testApiResult);
     \Paynl\Config::setCurl($curl);
 }
示例#3
0
文件: Helper.php 项目: villhaber/sdk
 public static function requireServiceId()
 {
     $serviceId = Config::getServiceId();
     if (empty($serviceId)) {
         throw new Error\Required\ServiceId();
     }
 }
 public function initSettings()
 {
     $storeId = $this->getStore();
     $apitoken = $this->_scopeConfig->getValue('payment/paynl/apitoken', \Magento\Store\Model\ScopeInterface::SCOPE_STORE, $storeId);
     $serviceId = $this->_scopeConfig->getValue('payment/paynl/serviceid', \Magento\Store\Model\ScopeInterface::SCOPE_STORE, $storeId);
     \Paynl\Config::setApitoken($apitoken);
     \Paynl\Config::setServiceId($serviceId);
 }
示例#5
0
文件: Api.php 项目: patrickkivits/sdk
 public function doRequest($endpoint, $version = null)
 {
     $data = $this->getData();
     $uri = Config::getApiUrl($endpoint, $version);
     $curl = new Curl();
     $result = $curl->post($uri, $data);
     $output = self::processResult($result);
     return $output;
 }
示例#6
0
文件: RefundTest.php 项目: paynl/sdk
 public function testRefundAdd()
 {
     $this->setDummyData('refund');
     \Paynl\Config::setApiToken('123456789012345678901234567890');
     \Paynl\Config::setServiceId('SL-1234-5678');
     $result = $this->refundAddFull();
     $this->assertInstanceOf('\\Paynl\\Result\\Refund\\Add', $result);
     $this->assertStringStartsWith('RF-', $result->getRefundId());
 }
示例#7
0
 public function doRequest($endpoint = null)
 {
     if (isset(self::$cache[Config::getServiceId()])) {
         return self::$cache[Config::getServiceId()];
     } else {
         $result = parent::doRequest('transaction/getService');
         self::$cache[Config::getServiceId()] = $result;
         return $result;
     }
 }
示例#8
0
 /**
  * Configures the sdk with the API token and serviceId
  *
  * @return bool TRUE when config loaded, FALSE when the apitoken or serviceId are empty
  */
 public function configureSDK()
 {
     $apiToken = $this->getApiToken();
     $serviceId = $this->getServiceId();
     if (!empty($apiToken) && !empty($serviceId)) {
         \Paynl\Config::setApiToken($apiToken);
         \Paynl\Config::setServiceId($serviceId);
         return true;
     }
     return false;
 }
示例#9
0
文件: GetService.php 项目: ivodvb/sdk
 /**
  * Do the request
  *
  * @param null $endpoint
  * @param null $version
  * @return array The result
  */
 public function doRequest($endpoint = null, $version = null)
 {
     if (isset(self::$cache[Config::getServiceId()])) {
         Helper::requireApiToken();
         Helper::requireServiceId();
         return self::$cache[Config::getServiceId()];
     } else {
         $result = parent::doRequest('transaction/getService');
         self::$cache[Config::getServiceId()] = $result;
         return $result;
     }
 }
示例#10
0
 public function execute()
 {
     \Paynl\Config::setApiToken($this->_config->getApiToken());
     $transaction = \Paynl\Transaction::getForReturn();
     if ($transaction->isPaid() || $transaction->isPending()) {
         $resultRedirect = $this->resultRedirectFactory->create();
         return $resultRedirect->setPath('checkout/onepage/success');
     } else {
         //canceled, reorder
         $this->messageManager->addNotice(__('Payment canceled'));
         return $this->_reorder($transaction->getDescription());
     }
 }
示例#11
0
 public function execute()
 {
     $skipFraudDetection = false;
     \Paynl\Config::setApiToken($this->_config->getApiToken());
     $params = $this->getRequest()->getParams();
     if (!isset($params['order_id'])) {
         $this->_logger->critical('Exchange: order_id is not set in the request', $params);
         return $this->_result->setContents('FALSE| order_id is not set in the request');
     }
     try {
         $transaction = \Paynl\Transaction::get($params['order_id']);
     } catch (\Exception $e) {
         $this->_logger->critical($e, $params);
         return $this->_result->setContents('FALSE| Error fetching transaction. ' . $e->getMessage());
     }
     if ($transaction->isPending()) {
         return $this->_result->setContents("TRUE| Ignoring pending");
     }
     $orderId = $transaction->getDescription();
     $order = $this->_orderFactory->create()->loadByIncrementId($orderId);
     if (empty($order)) {
         $this->_logger->critical('Cannot load order: ' . $orderId);
         return $this->_result->setContents('FALSE| Cannot load order');
     }
     if ($order->getTotalDue() <= 0) {
         $this->_logger->debug('Total due <= 0, so iam not touching the status of the order: ' . $orderId);
         return $this->_result->setContents('TRUE| Total due <= 0, so iam not touching the status of the order');
     }
     if ($transaction->isPaid()) {
         $payment = $order->getPayment();
         $payment->setTransactionId($transaction->getId());
         $payment->setCurrencyCode($transaction->getPaidCurrency());
         $payment->setIsTransactionClosed(0);
         $payment->registerCaptureNotification($transaction->getPaidCurrencyAmount(), $skipFraudDetection);
         $order->save();
         // notify customer
         $invoice = $payment->getCreatedInvoice();
         if ($invoice && !$order->getEmailSent()) {
             $this->_orderSender->send($order);
             $order->addStatusHistoryComment(__('New order email sent'))->setIsCustomerNotified(true)->save();
         }
         if ($invoice && !$invoice->getEmailSent()) {
             $this->_invoiceSender->send($invoice);
             $order->addStatusHistoryComment(__('You notified customer about invoice #%1.', $invoice->getIncrementId()))->setIsCustomerNotified(true)->save();
         }
         return $this->_result->setContents("TRUE| PAID");
     } elseif ($transaction->isCanceled()) {
         $order->cancel()->save();
         return $this->_result->setContents("TRUE| CANCELED");
     }
 }
示例#12
0
 public function execute()
 {
     $skipFraudDetection = false;
     \Paynl\Config::setApiToken($this->_config->getApiToken());
     $transaction = \Paynl\Transaction::getForExchange();
     if ($transaction->isPending()) {
         die("TRUE| Ignoring pending");
     }
     $orderId = $transaction->getDescription();
     $order = $this->_orderFactory->create()->loadByIncrementId($orderId);
     if (empty($order)) {
         die('FALSE| Cannot load order');
     }
     if ($order->getTotalDue() <= 0) {
         die('TRUE| Total due <= 0, so iam not touching the status if the order');
     }
     if ($transaction->isPaid()) {
         if ($order->getOrderCurrencyCode() != 'EUR') {
             $skipFraudDetection = true;
         }
         $payment = $order->getPayment();
         $payment->setTransactionId($transaction->getId());
         $payment->setCurrencyCode($transaction->getPaidCurrency());
         $payment->setIsTransactionClosed(0);
         $payment->registerCaptureNotification($transaction->getPaidAmount(), $skipFraudDetection);
         $order->save();
         // notify customer
         $invoice = $payment->getCreatedInvoice();
         if ($invoice && !$order->getEmailSent()) {
             $this->_orderSender->send($order);
             $order->addStatusHistoryComment(__('You notified customer about invoice #%1.', $invoice->getIncrementId()))->setIsCustomerNotified(true)->save();
         }
         die("TRUE| PAID");
     } elseif ($transaction->isCanceled()) {
         $order->cancel()->save();
         die("TRUE| CANCELED");
     }
 }
示例#13
0
 public function execute()
 {
     $resultRedirect = $this->resultRedirectFactory->create();
     \Paynl\Config::setApiToken($this->_config->getApiToken());
     $params = $this->getRequest()->getParams();
     if (!isset($params['orderId'])) {
         $this->messageManager->addNoticeMessage(__('Invalid return, no transactionId specified'));
         $this->_logger->critical('Invalid return, no transactionId specified', $params);
         $resultRedirect->setPath('checkout/cart');
         return $resultRedirect;
     }
     try {
         $transaction = \Paynl\Transaction::get($params['orderId']);
     } catch (\Exception $e) {
         $this->_logger->critical($e, $params);
         $this->messageManager->addExceptionMessage($e, __('There was an error checking the transaction status'));
         $resultRedirect->setPath('checkout/cart');
         return $resultRedirect;
     }
     if ($transaction->isPaid() || $transaction->isPending()) {
         $this->_getCheckoutSession()->start();
         $resultRedirect->setPath('checkout/onepage/success');
     } else {
         //canceled, re-activate quote
         try {
             $this->_getCheckoutSession()->restoreQuote();
             $this->messageManager->addNoticeMessage(__('Payment canceled'));
         } catch (\Magento\Framework\Exception\LocalizedException $e) {
             $this->_logger->error($e);
             $this->messageManager->addExceptionMessage($e, $e->getMessage());
         } catch (\Exception $e) {
             $this->_logger->error($e);
             $this->messageManager->addExceptionMessage($e, __('Unable to cancel order'));
         }
         $resultRedirect->setPath('checkout/cart');
     }
     return $resultRedirect;
 }
示例#14
0
文件: Api.php 项目: paynl/sdk
 public function doRequest($endpoint, $version = null)
 {
     if (is_null($version)) {
         $version = $this->version;
     }
     $data = $this->getData();
     $uri = Config::getApiUrl($endpoint, $version);
     $curl = Config::getCurl();
     if (Config::getCAInfoLocation()) {
         // set a custom CAInfo file
         $curl->setOpt(CURLOPT_CAINFO, Config::getCAInfoLocation());
     }
     $result = $curl->post($uri, $data);
     if ($curl->error) {
         if (!empty($result)) {
             if ($result->status == "FALSE") {
                 throw new Error\Api($result->error);
             }
         }
         throw new Error\Error($curl->errorMessage);
     }
     $output = static::processResult($result);
     return $output;
 }
示例#15
0
文件: ConfigTest.php 项目: ivodvb/sdk
 public function testGetCurlCustomString()
 {
     \Paynl\Config::setCurl('\\Paynl\\Curl\\Dummy');
     $this->assertInstanceOf('\\Paynl\\Curl\\Dummy', \Paynl\Config::getCurl());
 }
示例#16
0
 public function testRefundError()
 {
     \Paynl\Config::setApiToken('123456789012345678901234567890');
     $this->setExpectedException('\\Paynl\\Error\\Api');
     $this->setDummyData('Result/refundError');
     \Paynl\Transaction::refund('645958819Xdd3ea1', 5, 'Description');
 }
示例#17
0
文件: refund.php 项目: villhaber/sdk
<?php

/* 
 * Copyright (C) 2015 Andy Pieters <*****@*****.**>
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
require_once '../vendor/autoload.php';
\Paynl\Config::setApiToken('e41f83b246b706291ea9ad798ccfd9f0fee5e0ab');
$transactionId = $_GET['transactionId'];
try {
    $result = \Paynl\Transaction::refund($transactionId, 5);
} catch (\Paynl\Error\Api $e) {
    echo $e->getMessage();
}
示例#18
0
 public function testDeclineWithoutTransactionId()
 {
     \Paynl\Config::setApiToken('123456789012345678901234567890');
     $this->setExpectedException('\\Paynl\\Error\\Required');
     \Paynl\Transaction::decline('');
 }
示例#19
0
文件: Start.php 项目: villhaber/sdk
 protected function getData()
 {
     // Checken of alle verplichte velden geset zijn
     Helper::requireServiceId();
     $data['serviceId'] = Config::getServiceId();
     if ($this->_testMode === true) {
         $data['testMode'] = '1';
     } else {
         $data['testMode'] = '0';
     }
     if (empty($this->_amount)) {
         throw new \ErrorRequired('Amount is niet geset', 1);
     } else {
         $data['amount'] = $this->_amount;
     }
     if (!empty($this->_paymentOptionId)) {
         $data['paymentOptionId'] = $this->_paymentOptionId;
     }
     if (empty($this->_finishUrl)) {
         throw new ErrorRequired('FinishUrl is niet geset', 1);
     } else {
         $data['finishUrl'] = $this->_finishUrl;
     }
     if (!empty($this->_exchangeUrl)) {
         $data['transaction']['orderExchangeUrl'] = $this->_exchangeUrl;
     }
     if (!empty($this->_description)) {
         $data['transaction']['description'] = $this->_description;
     }
     if (!empty($this->_paymentOptionSubId)) {
         $data['paymentOptionSubId'] = $this->_paymentOptionSubId;
     }
     //ip en browserdata setten browserdata set ik met dummydata
     $data['ipAddress'] = Helper::getIp();
     if (!empty($this->_products)) {
         //            $data['saleData']['invoiceDate'] = date('d-m-Y');
         //            $data['saleData']['deliveryDate'] = date('d-m-Y', strtotime('+1 day'));
         $data['saleData']['orderData'] = $this->_products;
     }
     if (!empty($this->_enduser)) {
         $data['enduser'] = $this->_enduser;
     }
     if (!empty($this->_extra1)) {
         $data['statsData']['extra1'] = $this->_extra1;
     }
     if (!empty($this->_extra2)) {
         $data['statsData']['extra2'] = $this->_extra2;
     }
     if (!empty($this->_extra3)) {
         $data['statsData']['extra3'] = $this->_extra3;
     }
     if (!empty($this->_promotorId)) {
         $data['statsData']['promotorId'] = $this->_promotorId;
     }
     if (!empty($this->_info)) {
         $data['statsData']['info'] = $this->_info;
     }
     if (!empty($this->_tool)) {
         $data['statsData']['tool'] = $this->_tool;
     }
     if (!empty($this->_object)) {
         $data['statsData']['object'] = $this->_object;
     }
     if (!empty($this->_domainId)) {
         $data['statsData']['domain_id'] = $this->_domainId;
     }
     if (!empty($this->_transferData)) {
         $data['statsData']['transferData'] = $this->_transferData;
     }
     $this->data = array_merge($data, $this->data);
     return parent::getData();
 }
示例#20
0
文件: Start.php 项目: paynl/sdk
 protected function getData()
 {
     // Checken of alle verplichte velden geset zijn
     Helper::requireServiceId();
     $data['serviceId'] = Config::getServiceId();
     if ($this->_testMode === true) {
         $data['testMode'] = '1';
     } else {
         $data['testMode'] = '0';
     }
     if (empty($this->_amount)) {
         throw new ErrorRequired('Amount is niet geset', 1);
     } else {
         $data['amount'] = $this->_amount;
     }
     if (!empty($this->_paymentOptionId)) {
         $data['paymentOptionId'] = $this->_paymentOptionId;
     }
     if (empty($this->_finishUrl)) {
         throw new ErrorRequired('FinishUrl is niet geset', 1);
     } else {
         $data['finishUrl'] = $this->_finishUrl;
     }
     if (!empty($this->_exchangeUrl)) {
         $data['transaction']['orderExchangeUrl'] = $this->_exchangeUrl;
     }
     if (!empty($this->_description)) {
         $data['transaction']['description'] = $this->_description;
     }
     if (isset($this->_currency)) {
         $data['transaction']['currency'] = $this->_currency;
     }
     if (isset($this->_expireDate)) {
         $data['transaction']['expireDate'] = $this->_expireDate->format('d-m-Y H:i:s');
     }
     if (!empty($this->_paymentOptionSubId)) {
         $data['paymentOptionSubId'] = $this->_paymentOptionSubId;
     }
     if (isset($this->_ipaddress)) {
         $data['ipAddress'] = $this->_ipaddress;
     } else {
         $data['ipAddress'] = Helper::getIp();
     }
     if (!empty($this->_products)) {
         $data['saleData']['orderData'] = $this->_products;
     }
     if (!empty($this->_deliveryDate)) {
         $data['saleData']['deliveryDate'] = $this->_deliveryDate->format('d-m-Y');
     }
     if (!empty($this->_invoiceDate)) {
         $data['saleData']['invoiceDate'] = $this->_invoiceDate->format('d-m-Y');
     }
     if (!empty($this->_enduser)) {
         $data['enduser'] = $this->_enduser;
     }
     if (!empty($this->_extra1)) {
         $data['statsData']['extra1'] = $this->_extra1;
     }
     if (!empty($this->_extra2)) {
         $data['statsData']['extra2'] = $this->_extra2;
     }
     if (!empty($this->_extra3)) {
         $data['statsData']['extra3'] = $this->_extra3;
     }
     if (!empty($this->_promotorId)) {
         $data['statsData']['promotorId'] = $this->_promotorId;
     }
     if (!empty($this->_info)) {
         $data['statsData']['info'] = $this->_info;
     }
     if (!empty($this->_tool)) {
         $data['statsData']['tool'] = $this->_tool;
     }
     if (!empty($this->_object)) {
         $data['statsData']['object'] = $this->_object;
     }
     if (!empty($this->_domainId)) {
         $data['statsData']['domain_id'] = $this->_domainId;
     }
     if (!empty($this->_transferData)) {
         $data['statsData']['transferData'] = $this->_transferData;
     }
     if (!empty($this->_transferType)) {
         $data['transferType'] = $this->_transferType;
     }
     if (!empty($this->_transferValue)) {
         $data['transferValue'] = $this->_transferValue;
     }
     $this->data = array_merge($data, $this->data);
     return parent::getData();
 }
示例#21
0
文件: Api.php 项目: ivodvb/sdk
 public function doRequest($endpoint, $version = null)
 {
     if (is_null($version)) {
         $version = $this->version;
     }
     $data = $this->getData();
     $uri = Config::getApiUrl($endpoint, $version);
     $curl = Config::getCurl();
     if (Config::getCAInfoLocation()) {
         // set a custom CAInfo file
         $curl->setOpt(CURLOPT_CAINFO, Config::getCAInfoLocation());
     }
     $result = $curl->post($uri, $data);
     if ($curl->error) {
         // todo handle 400 errors properly, the SDK user needs to know what
         // went wrong
         $error = new Error\Error($curl->errorMessage);
         $error->setAdditionalData($result)->setServiceId(Config::getServiceId())->setApiToken(Config::getApiToken())->setApiEndpoint($endpoint)->setApiEndpointVersion($version);
         throw $error;
     }
     $output = static::processResult($result);
     return $output;
 }
示例#22
0
文件: Add.php 项目: ivodvb/sdk
 /**
  * Get data to send to the api
  *
  * @return array
  * @throws ErrorRequired
  */
 protected function getData()
 {
     Helper::requireServiceId();
     $this->data['serviceId'] = Config::getServiceId();
     if (empty($this->_amount)) {
         throw new ErrorRequired('Amount is not set', 1);
     }
     $this->data['amount'] = $this->_amount;
     if (empty($this->_bankAccountHolder)) {
         throw new ErrorRequired('bankAccountHolder is not set', 1);
     }
     $this->data['bankAccountHolder'] = $this->_bankAccountHolder;
     if (empty($this->_bankAccountNumber)) {
         throw new ErrorRequired('bankAccountNumber is not set', 1);
     }
     $this->data['bankAccountNumber'] = $this->_bankAccountNumber;
     if (!empty($this->_bankAccountBic)) {
         $this->data['bankAccountBic'] = $this->_bankAccountBic;
     }
     if (!empty($this->_description)) {
         $this->data['description'] = $this->_description;
     }
     if (!empty($this->_promotorId)) {
         $this->data['promotorId'] = $this->_promotorId;
     }
     if (!empty($this->_info)) {
         $this->data['info'] = $this->_info;
     }
     if (!empty($this->_tool)) {
         $this->data['tool'] = $this->_tool;
     }
     if (!empty($this->_object)) {
         $this->data['object'] = $this->_object;
     }
     if (!empty($this->_extra1)) {
         $this->data['extra1'] = $this->_extra1;
     }
     if (!empty($this->_extra2)) {
         $this->data['extra2'] = $this->_extra2;
     }
     if (!empty($this->_extra3)) {
         $this->data['extra3'] = $this->_extra3;
     }
     if (isset($this->_orderId)) {
         $this->data['orderId'] = $this->_orderId;
     }
     if (isset($this->_currency)) {
         $this->data['currency'] = $this->_currency;
     }
     if (!empty($this->_processDate)) {
         $this->data['processDate'] = $this->_processDate->format('d-m-Y');
     }
     return parent::getData();
 }
示例#23
0
 public function testGetBanksInvalidPaymentMethod()
 {
     $this->setDummyData();
     \Paynl\Config::setServiceId('SL-1234-5678');
     \Paynl\Config::setApiToken('123456789012345678901234567890');
     $banks = \Paynl\Paymentmethods::getBanks(12345);
     //Non existent paymentmethod
     $this->assertInternalType('array', $banks);
     foreach ($banks as $bank) {
         $this->assertArrayHasKey('id', $bank);
         $this->assertArrayHasKey('name', $bank);
         $this->assertArrayHasKey('visibleName', $bank);
     }
 }
示例#24
0
 public function execute()
 {
     try {
         /** @var \Magento\Checkout\Model\Type\Onepage $onepage */
         $onepage = $this->_objectManager->get('Magento\\Checkout\\Model\\Type\\Onepage');
         /** @var \Magento\Quote\Model\Quote $quote */
         $quote = $onepage->getQuote();
         $quote->collectTotals();
         $quote->reserveOrderId();
         $orderId = $quote->getReservedOrderId();
         $payment = $quote->getPayment()->getMethodInstance();
         $total = $quote->getGrandTotal();
         $items = $quote->getAllVisibleItems();
         $currency = $quote->getQuoteCurrencyCode();
         $returnUrl = $this->_url->getUrl('paynl/finish/');
         $exchangeUrl = $this->_url->getUrl('paynl/exchange/');
         $paymentOptionId = $payment->getPaymentOptionId();
         $arrBillingAddress = $quote->getBillingAddress()->toArray();
         $arrShippingAddress = $quote->getShippingAddress()->toArray();
         $enduser = array('initials' => substr($arrBillingAddress['firstname'], 0, 1), 'lastName' => $arrBillingAddress['lastname'], 'phoneNumber' => $arrBillingAddress['telephone'], 'emailAddress' => $arrBillingAddress['email']);
         $address = array();
         $arrAddress = \Paynl\Helper::splitAddress($arrBillingAddress['street']);
         $address['streetName'] = $arrAddress[0];
         $address['houseNumber'] = $arrAddress[1];
         $address['zipCode'] = $arrBillingAddress['postcode'];
         $address['city'] = $arrBillingAddress['city'];
         $address['country'] = $arrBillingAddress['country_id'];
         $shippingAddress = array();
         $arrAddress2 = \Paynl\Helper::splitAddress($arrShippingAddress['street']);
         $shippingAddress['streetName'] = $arrAddress2[0];
         $shippingAddress['houseNumber'] = $arrAddress2[1];
         $shippingAddress['zipCode'] = $arrShippingAddress['postcode'];
         $shippingAddress['city'] = $arrShippingAddress['city'];
         $shippingAddress['country'] = $arrShippingAddress['country_id'];
         $data = array('amount' => $total, 'returnUrl' => $returnUrl, 'paymentMethod' => $paymentOptionId, 'description' => $orderId, 'extra1' => $orderId, 'extra1' => $quote->getId(), 'exchangeUrl' => $exchangeUrl, 'currency' => $currency);
         $data['address'] = $address;
         $data['shippingAddress'] = $shippingAddress;
         $data['enduser'] = $enduser;
         $arrProducts = array();
         foreach ($items as $item) {
             $arrItem = $item->toArray();
             if ($arrItem['price_incl_tax'] != null) {
                 $product = array('id' => $arrItem['product_id'], 'name' => $arrItem['name'], 'price' => $arrItem['price_incl_tax'], 'qty' => $arrItem['qty'], 'tax' => $arrItem['tax_amount']);
             }
             $arrProducts[] = $product;
         }
         //shipping
         $shippingCost = $quote->getShippingAddress()->getShippingInclTax();
         $shippingTax = $quote->getShippingAddress()->getShippingTaxAmount();
         $shippingDescription = $quote->getShippingAddress()->getShippingDescription();
         $arrProducts[] = array('id' => 'shipping', 'name' => $shippingDescription, 'price' => $shippingCost, 'qty' => 1, 'tax' => $shippingTax);
         // kortingen
         $discount = $quote->getSubtotal() - $quote->getSubtotalWithDiscount();
         if ($discount > 0) {
             $arrProducts[] = array('id' => 'discount', 'name' => __('Discount'), 'price' => $discount * -1, 'qty' => 1, 'tax' => 0);
         }
         $data['products'] = $arrProducts;
         if ($this->_config->isTestMode()) {
             $data['testmode'] = 1;
         }
         $data['ipaddress'] = $quote->getRemoteIp();
         \Paynl\Config::setApiToken($this->_config->getApiToken());
         \Paynl\Config::setServiceId($this->_config->getServiceId());
         $transaction = \Paynl\Transaction::start($data);
         $onepage->saveOrder();
         $this->_redirect($transaction->getRedirectUrl());
     } catch (\Exception $e) {
         $this->messageManager->addException($e, __('Something went wrong, please try again later'));
         $this->_redirect('checkout/cart');
     }
 }
示例#25
0
文件: HelperTest.php 项目: ivodvb/sdk
 public function testRequireServiceIdException()
 {
     $this->setExpectedException('\\Paynl\\Error\\Required\\ServiceId');
     \Paynl\Config::setServiceId('');
     \Paynl\Helper::requireServiceId();
 }
示例#26
0
文件: config.php 项目: paynl/sdk
<?php

\Paynl\Config::setApiToken('bf81d83f6f8ca32bca272dfdcaf2f14902ff41');
\Paynl\Config::setServiceId('SL-3490-4320');
//optional: you can download it on https://curl.haxx.se/ca/cacert.pem
//\Paynl\Config::setCAInfoLocation('path/to/cacert.pem');
示例#27
0
<?php

require_once '../vendor/autoload.php';
require_once 'config.php';
// don't forget to set the serviceId
// This is your service, where the transaction will be added to
\Paynl\Config::setServiceId('SL-1234-1234');
try {
    $result = Paynl\Alliance\Invoice::add(array('merchantId' => 'M-1234-1234', 'invoiceId' => 'INV012345', 'amount' => 25.75, 'description' => 'Test invoice', 'invoiceUrl' => 'http://url.to.the/invoice.pdf', 'makeYesterday' => true));
    echo $result->referenceId();
} catch (\Exception $e) {
    echo "Error occurred: " . $e->getMessage();
}
示例#28
0
<?php

\Paynl\Config::setApiToken('YOUR-API-TOKEN');