omnipay / mollie
Mollie支付处理库的Mollie驱动程序
v5.5.0
2022-06-28 18:26 UTC
Requires
- php: ^7.2|^8.0
- omnipay/common: ^3.1
Requires (Dev)
- omnipay/tests: ^4.1
- squizlabs/php_codesniffer: ^3
This package is auto-updated.
Last update: 2024-09-10 16:17:29 UTC
README
Mollie为Omnipay PHP支付处理库提供的驱动程序
Omnipay是一个与框架无关、多网关的PHP支付处理库。此包实现了Mollie对Omnipay的支持。
安装
Omnipay通过Composer安装。要安装,只需使用Composer要求league/omnipay
和omnipay/mollie
composer require league/omnipay omnipay/mollie
基本用法
此包提供以下网关
- Mollie
有关一般用法说明,请参阅主要的Omnipay仓库。
基本购买示例
$gateway = \Omnipay\Omnipay::create('Mollie'); $gateway->setApiKey('test_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM'); $response = $gateway->purchase( [ "amount" => "10.00", "currency" => "EUR", "description" => "My first Payment", "returnUrl" => "https://webshop.example.org/mollie-return.php" ] )->send(); // Process response if ($response->isSuccessful()) { // Payment was successful print_r($response); } elseif ($response->isRedirect()) { // Redirect to offsite payment gateway $response->redirect(); } else { // Payment failed echo $response->getMessage(); }
使用订单API的示例
- 创建订单并将订单项作为参数传入。
$response = $gateway->createOrder( [ 'amount' => '1027.99', 'currency' => 'EUR', 'orderNumber' => '1337', 'lines' => [ [ 'type' => 'physical', 'sku' => '5702016116977', 'name' => 'LEGO 42083 Bugatti Chiron', 'productUrl' => 'https://shop.lego.com/nl-NL/Bugatti-Chiron-42083', 'imageUrl' => 'https://sh-s7-live-s.legocdn.com/is/image//LEGO/42083_alt1?$main$', 'quantity' => 2, 'vatRate' => '21.00', 'unitPrice' => '399.00', 'totalAmount' => '698.00', 'discountAmount' => '100.00', 'vatAmount' => '121.14', ], [ 'type' => 'physical', 'sku' => '5702015594028', 'name' => 'LEGO 42056 Porsche 911 GT3 RS', 'productUrl' => 'https://shop.lego.com/nl-NL/Porsche-911-GT3-RS-42056', 'imageUrl' => 'https://sh-s7-live-s.legocdn.com/is/image/LEGO/42056?$PDPDefault$', 'quantity' => 1, 'vatRate' => '21.00', 'unitPrice' => '329.99', 'totalAmount' => '329.99', 'vatAmount' => '57.27', ] ], 'card' => [ 'company' => 'Mollie B.V.', 'email' => 'norris@chucknorrisfacts.net', 'birthday' => '1958-01-31', 'billingTitle' => 'Dhr', 'billingFirstName' => 'Piet', 'billingLastName' => 'Mondriaan', 'billingAddress1' => 'Keizersgracht 313', 'billingCity' => 'Amsterdam', 'billingPostcode' => '1234AB', 'billingState' => 'Noord-Holland', 'billingCountry' => 'NL', 'billingPhone' => '+31208202070', 'shippingTitle' => 'Mr', 'shippingFirstName' => 'Chuck', 'shippingLastName' => 'Norris', 'shippingAddress1' => 'Prinsengracht 313', 'shippingAddress2' => '4th floor', 'shippingCity' => 'Haarlem', 'shippingPostcode' => '5678AB', 'shippingState' => 'Noord-Holland', 'shippingCountry' => 'NL', ], 'metadata' => [ 'order_id' => '1337', 'description' => 'Lego cars', ], 'locale' => 'nl_NL', 'returnUrl' => 'https://example.org/redirect', 'notifyUrl' => 'https://example.org/webhook', 'paymentMethod' => 'klarnapaylater', 'billingEmail' => 'piet@mondriaan.com', ] )->send(); // Process response if ($response->isSuccessful()) { // Payment was successful print_r($response); } elseif ($response->isRedirect()) { // Redirect to offsite payment gateway $response->redirect(); } else { // Payment failed echo $response->getMessage(); }
- 在返回/通知时,完成订单。这不一定总是完成的,因为对于Klarna,需要首先创建发货。
$response = $gateway->completeOrder( [ "transactionReference" => "ord_xxxx", ] )->send();
- 发货物品时,为该订单创建发货。您可以保留
items
为空以发货所有物品。
$response = $gateway->createShipment( [ "transactionReference" => "ord_xxx", 'items' => [ [ 'id' => 'odl_xxx', 'quantity' => 1, ] ] ] )->send();
- 只要订单是
已创建
、已授权
或正在发货
,就可以取消(取消)。
$response = $gateway->void(["transactionReference" => "ord_xxx"])->send();
支持
如果您在使用Omnipay时遇到一般问题,我们建议在Stack Overflow上发布。请确保添加omnipay标签,以便可以轻松找到。
如果您想了解发布公告,讨论项目想法或提出更详细的问题,还有一个您可以订阅的邮件列表。
如果您认为您找到了一个错误,请使用GitHub问题跟踪器报告,或者更好的方法是,分叉库并提交拉取请求。