owlympus / owly-monetico
Monetico网关
v0.8.2
2022-08-02 02:19 UTC
Requires
- php: >=7.4
This package is auto-updated.
Last update: 2024-09-04 02:08:48 UTC
README
一个小型PHP库,简化了Monetico的设置。
法语部分 🇫🇷
安装
composer require owlympus/owly-monetico
先决条件
- PHP >= 7.4
用法
Monetico
$monetico = new \OwlyMonetico\Monetico( '1234567', // Code TPE, 7 caractères max '0E23341908D38F6119E49F77651A15B8D4290203', // Clé de sécurité, 40 caractères hexadécimaux 'maSociete' // Code société );
客户端
use OwlyMonetico\Collection\Civility; use OwlyMonetico\Collection\Country; use OwlyMonetico\Model\Customer; $customer = (new Customer()) ->setCivility($id_gender == 1 ? Civility::MR : Civility::MLLE) // Optionnel ->setFirstName('John') // Optionnel ->setLastName('Doe') // Optionnel ->setBirthdate(new DateTime('1970-01-01')) // Optionnel ->setEmail('john.doe@site.ext') // Optionnel ->setCountry(Country::FR); // Optionnel
商品和购物车
use OwlyMonetico\Model\Cart; use OwlyMonetico\Model\Item; $item = (new Item()) ->setName('Item de test') // Optionnel ->setQuantity(1) ->setUnitPrice(2000); // En centimes $cart = (new Cart()) ->addItem($item);
账单地址
use OwlyMonetico\Collection\Country; use OwlyMonetico\Model\BillingAddress; $billingAddress = new BillingAddress( 'Pl. Général de Gaulle', 'La Valette-du-Var', '83160', Country::FR) ->setFirstName('John') // Optionnel ->setLastName('Doe') // Optionnel ->setEmail('john.doe@site.ext'); // Optionnel
送货地址
use OwlyMonetico\Collection\Country; use OwlyMonetico\Model\ShippingAddress; $billingAddress = new ShippingAddress( 'Pl. Général de Gaulle', 'La Valette-du-Var', '83160', Country::FR) ->setFirstName('John') // Optionnel ->setLastName('Doe') // Optionnel ->setEmail('john.doe@site.ext'); // Optionnel
订单
use OwlyMonetico\Model\Order; $order = new Order( uniqid('ref_'), $cart->getItemTotalAmount(), $customer, $cart, $billingAddress, $shippingAddress );
支付
简单支付
获取要发送的POST字段。
use OwlyMonetico\Collection\Currency; use OwlyMonetico\Collection\Language; use OwlyMonetico\Request\SimplePaymentRequest; $simpleRequest = (new SimplePaymentRequest($order, Language::FR, Currency::EUR)) ->setUrlSuccess('https:///success') // Optionnel ->setUrlError('https:///fail') // Optionnel ->setEmail('john.doe@site.ext'); // Optionnel pour envoyer le reçu. // Récupération des valeurs AVEC vérification des champs try { $simpleFields = $monetico->getSimplePaymentRequestFields($simpleRequest); // skipValidation: false par défaut } catch (Exception $e) { die($e->getMessage()); } var_dump($simpleFields); // Récupération des champs SANS vérification $simpleFields = $monetico->getSimplePaymentRequestFields($simpleRequest, true); // skipValidation: true var_dump($simpleFields);
纯页面支付
允许在iFrame中显示支付页面,字段以GET方式显示。
use OwlyMonetico\Collection\Currency; use OwlyMonetico\Collection\Language; use OwlyMonetico\Request\IFramePaymentRequest; $iFrameRequest = (new IFramePaymentRequest($order, Language::FR, Currency::EUR, 'john.doe@site.ext')) // Email obligatoire pour cette méthode ->setUrlSuccess('https:///success') // Optionnel ->setUrlError('https:///fail'); // Optionnel // Récupération des valeurs AVEC vérification des champs try { $iframeFields = $monetico->getIFramePaymentRequestFields($iFrameRequest); // skipValidation: false par défaut } catch (Exception $e) { die($e->getMessage()); } var_dump($iframeFields); // Récupération des champs SANS vérification $iframeFields = $monetico->getIFramePaymentRequestFields($iFrameRequest, true); // skipValidation: true var_dump($iframeFields);
2x、3x或4x分期付款
获取要发送的POST字段。
use OwlyMonetico\Collection\Currency; use OwlyMonetico\Collection\Language; use OwlyMonetico\Request\SplitPaymentRequest; $splitRequest = (new SplitPaymentRequest($order, Language::FR, Currency::EUR, 2)) // Nombre de paiements ->setUrlSuccess('https:///success.php') // Optionnel ->setUrlError('https:///fail.php') // Optionnel ->setDueAmount1(10.00) ->setDueDate1(new DateTime()) // Premier paiement aujourd'hui ->setDueAmount2(10.00) ->setDueDate2(new DateTime('+1 month')); // Second paiement dans un mois (Échéances mensuelles obligatoires) // Récupération des valeurs AVEC vérification des champs try { $splitFields = $monetico->getSplitPaymentRequestFields($splitRequest); // skipValidation: false par défaut } catch (Exception $e) { die($e->getMessage()); } var_dump($iframeFields); // Récupération des champs SANS vérification $splitFields = $monetico->getSplitPaymentRequestFields($splitRequest, true); // skipValidation: true var_dump($splitFields);
带预授权的支付
获取要发送的POST字段。
use OwlyMonetico\Collection\Currency; use OwlyMonetico\Collection\Language; use OwlyMonetico\Request\PreAuthorizedPaymentRequest; $preAuthorizedRequest = (new PreAuthorizedPaymentRequest($order, Language::FR, Currency::EUR, '20150901PRE1')) // Le numéro de dossier obligatoire ->setUrlSuccess('https:///success.php') // Optionnel ->setUrlError('https:///fail.php'); // Optionnel // Récupération des valeurs AVEC vérification des champs try { $preAuthorizedFields = $monetico->getPreAuthorizedPaymentRequestFields($splitRequest); // skipValidation: false par défaut } catch (Exception $e) { die($e->getMessage()); } var_dump($preAuthorizedFields); // Récupération des champs SANS vérification $preAuthorizedFields = $monetico->getPreAuthorizedPaymentRequestFields($preAuthorizedRequest, true); // skipValidation: true var_dump($preAuthorizedFields);
通过COFIDIS进行3x、4x分期付款
获取要发送的POST字段。
use OwlyMonetico\Collection\Civility; use OwlyMonetico\Collection\Currency; use OwlyMonetico\Collection\Language; use OwlyMonetico\Request\CofidisPaymentRequest; $cofidisRequest = (new CofidisPaymentRequest($order, Language::FR, Currency::EUR)) ->setCivility(Civility::MR) // Optionnel ->setFirstName('Yannick') // Optionnel ->setUrlSuccess('https:///success.php') // Optionnel ->setUrlError('https:///fail.php'); // Optionnel // Récupération des valeurs AVEC vérification des champs try { $cofidisFields = $monetico->getCofidisPaymentRequestFields($splitRequest); // skipValidation: false par défaut } catch (Exception $e) { die($e->getMessage()); } var_dump($preAuthorizedFields); // Récupération des valeurs SANS vérification des champs $cofidisFields = $monetico->getCofidisPaymentRequestFields($cofidisRequest, true); // skipValidation: true var_dump($cofidisFields);
验证
来自url_success和url_error的返回验证即将到来。
许可
该库采用GNU许可。
英语/美国英语部分 🇬🇧/🇺🇸
安装
composer require owlympus/owly-monetico
要求
- PHP >= 7.4
用法
Monetico
$monetico = new \OwlyMonetico\Monetico( '1234567', // EPT Code, 7 characters max '0E23341908D38F6119E49F77651A15B8D4290203', // Security key, 40 hexadecimal characters 'myCompany' // Company code );
客户
use OwlyMonetico\Collection\Civility; use OwlyMonetico\Collection\Country; use OwlyMonetico\Model\Customer; $customer = (new Customer()) ->setCivility($id_gender == 1 ? Civility::MR : Civility::MLLE) // Optional ->setFirstName('John') // Optional ->setLastName('Doe') // Optional ->setBirthdate(new DateTime('1970-01-01')) // Optional ->setEmail('john.doe@site.ext') // Optional ->setCountry(Country::FR); // Optional
商品和购物车
use OwlyMonetico\Model\Cart; use OwlyMonetico\Model\Item; $item = (new Item()) ->setName('Test item') // Optional ->setQuantity(1) ->setUnitPrice(2000); // In cents $cart = (new Cart()) ->addItem($item);
账单地址
use OwlyMonetico\Collection\Country; use OwlyMonetico\Model\BillingAddress; $billingAddress = new BillingAddress( 'Pl. Général de Gaulle', 'La Valette-du-Var', '83160', Country::FR) ->setFirstName('John') // Optional ->setLastName('Doe') // Optional ->setEmail('john.doe@site.ext'); // Optional
送货地址
use OwlyMonetico\Collection\Country; use OwlyMonetico\Model\ShippingAddress; $billingAddress = new ShippingAddress( 'Pl. Général de Gaulle', 'La Valette-du-Var', '83160', Country::FR) ->setFirstName('John') // Optional ->setLastName('Doe') // Optional ->setEmail('john.doe@site.ext'); // Optional
订单
use OwlyMonetico\Model\Order; $order = new Order( uniqid('ref_'), $cart->getItemTotalAmount(), $customer, $cart, $billingAddress, $shippingAddress );
支付
简单支付
获取要发送的POST字段
use OwlyMonetico\Collection\Currency; use OwlyMonetico\Collection\Language; use OwlyMonetico\Request\SimplePaymentRequest; $simpleRequest = (new SimplePaymentRequest($order, Language::FR, Currency::EUR)) ->setUrlSuccess('https:///success') // Optional ->setUrlError('https:///fail') // Optional ->setEmail('john.doe@site.ext'); // Optional to send the bill. // Get the fields WITH field validation try { $simpleFields = $monetico->getSimplePaymentRequestFields($simpleRequest); // skipValidation: false by default } catch (Exception $e) { die($e->getMessage()); } var_dump($simpleFields); // Get the fields WITHOUT field validation $simpleFields = $monetico->getSimplePaymentRequestFields($simpleRequest, true); // skipValidation: true var_dump($simpleFields);
纯页面支付
允许在iFrame中显示支付页面,字段以GET方式显示。
use OwlyMonetico\Collection\Currency; use OwlyMonetico\Collection\Language; use OwlyMonetico\Request\IFramePaymentRequest; $iFrameRequest = (new IFramePaymentRequest($order, Language::FR, Currency::EUR, 'john.doe@site.ext')) // Email required for this method ->setUrlSuccess('https:///success') // Optional ->setUrlError('https:///fail'); // Optional // Get the fields WITH field validation try { $iframeFields = $monetico->getIFramePaymentRequestFields($iFrameRequest); // skipValidation: false by default } catch (Exception $e) { die($e->getMessage()); } var_dump($iframeFields); // Get the fields WITHOUT field validation $iframeFields = $monetico->getIFramePaymentRequestFields($iFrameRequest, true); // skipValidation: true var_dump($iframeFields);
2x、3x或4x分期付款
获取要发送的POST字段
use OwlyMonetico\Collection\Currency; use OwlyMonetico\Collection\Language; use OwlyMonetico\Request\SplitPaymentRequest; $splitRequest = (new SplitPaymentRequest($order, Language::FR, Currency::EUR, 2)) // Nombre de paiements ->setUrlSuccess('https:///success.php') // Optional ->setUrlError('https:///fail.php') // Optional ->setDueAmount1(10.00) ->setDueDate1(new DateTime()) // First payment today ->setDueAmount2(10.00) ->setDueDate2(new DateTime('+1 month')); // Second payment in a month (Monthly due dates) // Get the fields WITH field validation try { $splitFields = $monetico->getSplitPaymentRequestFields($splitRequest); // skipValidation: false by default } catch (Exception $e) { die($e->getMessage()); } var_dump($iframeFields); // Get the fields WITHOUT field validation $splitFields = $monetico->getSplitPaymentRequestFields($splitRequest, true); // skipValidation: true var_dump($splitFields);
带预授权的支付
获取要发送的POST字段
use OwlyMonetico\Collection\Currency; use OwlyMonetico\Collection\Language; use OwlyMonetico\Request\PreAuthorizedPaymentRequest; $preAuthorizedRequest = (new PreAuthorizedPaymentRequest($order, Language::FR, Currency::EUR, '20150901PRE1')) // Required file number ->setUrlSuccess('https:///success.php') // Optional ->setUrlError('https:///fail.php'); // Optional // Get the fields WITH field validation try { $preAuthorizedFields = $monetico->getPreAuthorizedPaymentRequestFields($splitRequest); // skipValidation: false by default } catch (Exception $e) { die($e->getMessage()); } var_dump($preAuthorizedFields); // Get the fields WITHOUT field validation $preAuthorizedFields = $monetico->getPreAuthorizedPaymentRequestFields($preAuthorizedRequest, true); // skipValidation: true var_dump($preAuthorizedFields);
通过COFIDIS进行3x、4x分期付款
获取要发送的POST字段
use OwlyMonetico\Collection\Civility; use OwlyMonetico\Collection\Currency; use OwlyMonetico\Collection\Language; use OwlyMonetico\Request\CofidisPaymentRequest; $cofidisRequest = (new CofidisPaymentRequest($order, Language::FR, Currency::EUR)) ->setCivility(Civility::MR) // Optional ->setFirstName('Yannick') // Optional ->setUrlSuccess('https:///success.php') // Optional ->setUrlError('https:///fail.php'); // Optional // Get the fields WITH field validation try { $cofidisFields = $monetico->getCofidisPaymentRequestFields($splitRequest); // skipValidation: false by default } catch (Exception $e) { die($e->getMessage()); } var_dump($preAuthorizedFields); // Get the fields WITHOUT field validation $cofidisFields = $monetico->getCofidisPaymentRequestFields($cofidisRequest, true); // skipValidation: true var_dump($cofidisFields);
检查
来自url_success和url_error的返回验证即将到来。
许可
该库采用GNU许可。