firstred/mollie-api-php

该软件包已被废弃且不再维护。未建议替代软件包。

PHP的Mollie API客户端库。Mollie是一家欧洲支付服务提供商,提供国际支付方式,如万事达卡、维萨卡、美国运通卡和PayPal,以及本地支付方式,如iDEAL、Bancontact、SOFORT Banking、SEPA直接借记、Belfius Direct Net、KBC Payment But

dev-master 2019-02-17 22:39 UTC

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

68747470733a2f2f696e666f2e6d6f6c6c69652e636f6d2f68756266732f6769746875622f7068702f6c6f676f2e706e67

Mollie API客户端库

68747470733a2f2f696e666f2e6d6f6c6c69652e636f6d2f68756266732f6769746875622f7068702f656469746f722e706e67

接受iDEALBancontactSOFORT Banking信用卡SEPA银行转账SEPA直接借记PayPalBelfius Direct NetKBC/CBCpaysafecardING Home'Pay礼品卡GiropayEPS在线支付,无需固定月费或任何惩罚性注册程序。只需使用Mollie API即可直接在您的网站上接收付款,或轻松为客户退款。

Build Status Latest Stable Version Total Downloads

要求

要使用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

如何接收付款

为了成功接收付款,应实施以下步骤

  1. 使用Mollie API客户端创建一个具有请求金额、货币、描述(可选)和支付方式的付款。指定一个唯一的重定向URL非常重要,在付款完成后客户应该返回到该URL。

  2. 付款完成后,我们的平台将向配置的webhook发送异步请求,以检索付款详细信息,这样您就知道何时开始处理客户的订单。

  3. 客户返回,应该满意地看到订单已付款并正在处理。

在我们的网站上找到完整的文档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.cominfo@mollie.com — +31 20 820 20 70