owlympus/owly-monetico
Composer 安装命令:
composer require owlympus/owly-monetico
包简介
Monetico Gateway
关键字:
README 文档
README
Une petite librairie en PHP qui facilite la mise en place de Monetico.
Partie FR 🇫🇷
Installation
composer require owlympus/owly-monetico
Prérequis
- PHP >= 7.4
Usage
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é );
Client
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
Item et Panier
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);
Addresse de facturation
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
Addresse de livraison
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
Commande
use OwlyMonetico\Model\Order; $order = new Order( uniqid('ref_'), $cart->getItemTotalAmount(), $customer, $cart, $billingAddress, $shippingAddress );
Paiements
Paiement simple
Récupération des champs à envoyer en POST.
use OwlyMonetico\Collection\Currency; use OwlyMonetico\Collection\Language; use OwlyMonetico\Request\SimplePaymentRequest; $simpleRequest = (new SimplePaymentRequest($order, Language::FR, Currency::EUR)) ->setUrlSuccess('http://localhost/success') // Optionnel ->setUrlError('http://localhost/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);
Paiement en page épurée
Permet l'affichage de la page de paiement dans une iFrame avec les champs en 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('http://localhost/success') // Optionnel ->setUrlError('http://localhost/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);
Paiement en 2x, 3x ou 4x
Récupération des champs à envoyer en 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('http://localhost/success.php') // Optionnel ->setUrlError('http://localhost/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);
Paiement avec pré-autorisation
Récupération des champs à envoyer en 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('http://localhost/success.php') // Optionnel ->setUrlError('http://localhost/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);
Paiement en 3x, 4x via COFIDIS
Récupération des champs à envoyer en 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('http://localhost/success.php') // Optionnel ->setUrlError('http://localhost/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);
Vérifications
La vérification des retours venant des url_success et url_error arrive prochainement.
License
La librairie est sous licence GNU.
Part EN/US 🇬🇧/🇺🇸
Installation
composer require owlympus/owly-monetico
Requirements
- PHP >= 7.4
Usage
Monetico
$monetico = new \OwlyMonetico\Monetico( '1234567', // EPT Code, 7 characters max '0E23341908D38F6119E49F77651A15B8D4290203', // Security key, 40 hexadecimal characters 'myCompany' // Company code );
Customer
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
Item et Cart
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);
Billing address
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
Shipping address
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
Commande
use OwlyMonetico\Model\Order; $order = new Order( uniqid('ref_'), $cart->getItemTotalAmount(), $customer, $cart, $billingAddress, $shippingAddress );
Payments
Simple payment
Get the fields to send in POST
use OwlyMonetico\Collection\Currency; use OwlyMonetico\Collection\Language; use OwlyMonetico\Request\SimplePaymentRequest; $simpleRequest = (new SimplePaymentRequest($order, Language::FR, Currency::EUR)) ->setUrlSuccess('http://localhost/success') // Optional ->setUrlError('http://localhost/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);
Paiement en page épurée
Allows the payment page to be displayed in an iFrame with the fields in 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('http://localhost/success') // Optional ->setUrlError('http://localhost/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);
Paiement en 2x, 3x ou 4x
Get the fields to send in 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('http://localhost/success.php') // Optional ->setUrlError('http://localhost/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);
Paiement avec pré-autorisation
Get the fields to send in 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('http://localhost/success.php') // Optional ->setUrlError('http://localhost/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);
Paiement en 3x, 4x via COFIDIS
Get the fields to send in 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('http://localhost/success.php') // Optional ->setUrlError('http://localhost/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);
Checks
Checking for returns from url_success and url_error is coming soon.
License
The library is licensed under GNU.
owlympus/owly-monetico 适用场景与选型建议
owlympus/owly-monetico 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 5 次下载、GitHub Stars 达 1, 最近一次更新时间为 2022 年 07 月 29 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「monetico」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 owlympus/owly-monetico 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 owlympus/owly-monetico 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 owlympus/owly-monetico 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Payum Monetico (Credit Mutuel/CIC) gateway
PHP SDK for Monetico Payment Service
Payum Monetico gateway plugin for Sylius
Payum Monetico gateway plugin for Sylius
Symfony Bundle for Payum Monetico (Credit Mutuel/CIC) gateway
Monetico driver for the Omnipay PHP payment processing library
统计信息
- 总下载量: 5
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 4
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: GPL-3.0-or-later
- 更新时间: 2022-07-29