firstred / mollie-api-php
PHP的Mollie API客户端库。Mollie是一家欧洲支付服务提供商,提供国际支付方式,如万事达卡、维萨卡、美国运通卡和PayPal,以及本地支付方式,如iDEAL、Bancontact、SOFORT Banking、SEPA直接借记、Belfius Direct Net、KBC Payment But
Requires
- php: >=5.3.29
- ext-curl: *
- ext-json: *
- ext-openssl: *
- composer/ca-bundle: ^1.1
- ehough/psr7: ^1.4
- php-curl-class/php-curl-class: ^8.0.3
Requires (Dev)
- eloquent/liberator: ^2.0
- phpunit/phpunit: ^4.8 || ^5.7 || ^6.5 || ^7.1
Suggests
- mollie/oauth2-mollie-php: Use OAuth to authenticate with the Mollie API. This is needed for some endpoints. Visit https://docs.mollie.com/ for more information.
This package is auto-updated.
Last update: 2020-01-02 18:06:13 UTC
README
这是Mollie PHP库的非官方PHP 5.3.29+版本。
它与PHP 5.3.29+兼容,并保持与官方库同步。
HTTP客户端已将Guzzle替换为PHP Curl Class。
Mollie API客户端库
接受iDEAL、Bancontact、SOFORT Banking、信用卡、SEPA银行转账、SEPA直接借记、PayPal、Belfius Direct Net、KBC/CBC、paysafecard、ING Home'Pay、礼品卡、Giropay和EPS在线支付,无需固定月费或任何惩罚性注册程序。只需使用Mollie API即可直接在您的网站上接收付款,或轻松为客户退款。
要求
要使用Mollie API客户端,需要以下内容
- 获取免费的Mollie账户。无需注册费。
- 现在您可以使用Mollie API客户端进行测试模式。
- 按照几个步骤启用实时模式中的支付方式,其余的由我们处理。
- PHP >= 5.3.3
- 更新的OpenSSL(或其他SSL/TLS工具包)
为了利用Mollie Connect(仅限高级用例),我们建议安装我们的OAuth2客户端。
Composer安装
迄今为止,通过Composer安装Mollie API客户端是最简单的方法。
$ composer require mollie/mollie-api-php:^2.0
{
"require": {
"mollie/mollie-api-php": "^2.0"
}
}
API客户端的版本与它实现的API版本相对应。查看迁移说明,了解如果您想开始使用较新版本的API,需要做出哪些更改。
手动安装
如果您不熟悉使用composer,我们在发布版本中添加了一个包含API客户端和由composer正常安装的所有包的ZIP文件。从发布页面下载mollie-api-php.zip
。
如初始化示例所示,包含vendor/autoload.php
。
如何接收付款
为了成功接收付款,应实施以下步骤
-
使用Mollie API客户端创建一个具有请求金额、货币、描述(可选)和支付方式的付款。指定一个唯一的重定向URL非常重要,在付款完成后客户应该返回到该URL。
-
付款完成后,我们的平台将向配置的webhook发送异步请求,以检索付款详细信息,这样您就知道何时开始处理客户的订单。
-
客户返回,应该满意地看到订单已付款并正在处理。
在我们的网站上找到完整的文档docs.mollie.com。
入门指南
初始化Mollie API客户端,并设置您的API密钥。
$mollie = new \Mollie\Api\MollieApiClient(); $mollie->setApiKey("test_dHar4XY7LxsDOtmnkVtjNVWXLSlXsM");
创建一个新的付款。
$payment = $mollie->payments->create(array( "amount" => array( "currency" => "EUR", "value" => "10.00" ), "description" => "My first API payment", "redirectUrl" => "https://webshop.example.org/order/12345/", "webhookUrl" => "https://webshop.example.org/mollie-webhook/", ));
创建后,付款ID将在$payment->id
属性中可用。您应该将此ID与您的订单一起存储。
存储付款ID后,您可以使用$payment->getCheckoutUrl()
将客户发送到结账。
header("Location: " . $payment->getCheckoutUrl(), true, 303);
此头部位置应始终为GET,因此我们强制执行303 HTTP响应代码
有关创建付款的示例,请参阅示例1 - 新付款。
检索付款
我们可以使用$payment->id
来检索一个付款并检查付款是否isPaid
。
$payment = $mollie->payments->get($payment->id); if ($payment->isPaid()) { echo "Payment received."; }
或者检索付款集合。
$payments = $mollie->payments->page();
有关列出付款详情和状态的详细示例,请参阅示例5 - 付款历史。
付款webhook
当付款状态发生变化时,我们在创建付款时指定的webhookUrl
将被调用。
在那里,我们可以使用我们的POST参数中的id
来检查状态并采取相应行动,请参阅示例2 - Webhook验证。
多货币
从2.0版本开始,现在可以为您的客户提供非EUR的付款。可以在我们的文档中找到可用货币的完整列表在此。
$payment = $mollie->payments->create(array( "amount" => array( "currency" => "USD", "value" => "10.00" ), "description" => "Order #12345", "redirectUrl" => "https://webshop.example.org/order/12345/", "webhookUrl" => "https://webshop.example.org/mollie-webhook/", ));
创建后,settlementAmount
将包含将结算到您的账户的EUR金额。
完全集成的iDEAL付款
如果您想在网站上完全集成iDEAL支付,需要采取一些额外的步骤。首先,您需要检索支持iDEAL的发行商(银行)列表,并让您的客户选择他们想要用于支付的发行商。
检索iDEAL方法和包含发行商
$method = $mollie->methods->get(\Mollie\Api\Types\PaymentMethod::IDEAL, array("include" => "issuers"));
$method->issuers
将是一个对象列表。在API调用中使用此对象的$id
属性,并使用$name
属性向您的客户显示发行商。有关更深入的示例,请参阅示例4 - iDEAL支付。
使用所选发行商创建支付
$payment = $mollie->payments->create(array( "amount" => array( "currency" => "EUR", "value" => "10.00" ), "description" => "My first API payment", "redirectUrl" => "https://webshop.example.org/order/12345/", "webhookUrl" => "https://webshop.example.org/mollie-webhook/", "method" => \Mollie\Api\Types\PaymentMethod::IDEAL, "issuer" => $selectedIssuerId, // e.g. "ideal_INGBNL2A" ));
$payment
对象的_links
属性将包含一个具有href
属性的checkout
对象,该属性是一个直接指向所选发行商在线银行环境的URL。通过使用$payment->getCheckoutUrl()
可以轻松检索此URL。
退款支付
API还支持退款。请注意,没有确认,所有退款都是即时和最终的。目前仅支持iDEAL、信用卡、Bancontact、SOFORT Banking、PayPal、Belfius Direct Net、KBC/CBC、ING Home'Pay和银行转账支付退款。其他类型的支付目前无法通过我们的API退款。
$payment = $mollie->payments->get($payment->id); // Refund € 2 of this payment $refund = $payment->refund(array( "amount" => array( "currency" => "EUR", "value" => "2.00" ) ));
有关工作示例,请参阅示例7 - 退款支付。
API文档
如果您想了解更多关于我们的API的信息,请访问Mollie开发者门户。API文档可用英文。
想要帮助我们使我们的API客户端变得更好?
想要帮助我们使我们的API客户端变得更好?我们当然接受pull requests。但您会如何向一个以技术为导向的组织做出贡献呢?Mollie正在招聘开发人员和系统工程师。查看我们的空缺职位或联系我们。
许可证
BSD (伯克利软件发行版) 许可证。版权所有(c)2013-2018,Mollie B.V.
支持
联系方式:www.mollie.com — info@mollie.com — +31 20 820 20 70