使用 Laravel Omnipay(mollie 网关)进行支付

Posted

技术标签:

【中文标题】使用 Laravel Omnipay(mollie 网关)进行支付【英文标题】:Payments with Laravel Omnipay (mollie gateway) 【发布时间】:2017-09-26 19:43:46 【问题描述】:

我目前无法使用 Omnipay 创建付款。我的项目中安装了以下库:

https://github.com/barryvdh/laravel-omnipay https://github.com/thephpleague/omnipay-mollie

但我在启动时遇到了问题。我在example 中看到我需要这些参数:

$params = [
    'amount' => $order->amount,
    'issuer' => $issuerId,
    'description' => $order->description,
    'returnUrl' => URL::action('PurchaseController@return', [$order->id]),
];

但是 $issuerId 是什么?我想与Mollie 集成。

有人可能有一个使用 laravel Omnipay 和 Mollie 的例子吗?

更新:

我正在尝试使用 ajax 调用提交我的表单。在我的 PHP 函数中,我有以下代码:

 $gateway = Omnipay\Omnipay::create('Mollie');

$gateway->setApiKey('test_gSDS4xNA96AfNmmdwB3fAA47zS84KN');

$params = [
    'amount' => $ticket_order['order_total'] + $ticket_order['organiser_booking_fee'],
    'description' => 'Kapelhoek wijkfeesten',
    'returnUrl' => URL::action('EventCheckoutController@fallback'),
];


$response = $gateway->purchase($params)->send();


if ($response->isSuccessful()) 
    // payment was successful: update database
    print_r($response); die;
 elseif ($response->isRedirect()) 
    // redirect to offsite payment gateway
    return $response->getRedirectResponse(); die;
 else 
    // payment failed: display message to customer
    echo $response->getMessage(); die;

但现在我收到以下控制台错误:

XMLHttpRequest 无法加载 https://www.mollie.com/payscreen/select-method/PRMtm6qnWG。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问 Origin 'http://kapelhoektickets.dev'。

我该如何解决这个问题?

【问题讨论】:

请注意,issuer 字段是可选的。你可以省略它,Mollie 只会显示一个屏幕,消费者可以在其中选择他们的银行。 @Daan,我的话题更新了,你能帮帮我吗? 【参考方案1】:

但是 $issuerId 是什么?

发行人 ID 是发行人的唯一标识符,例如 Ideal_ABNANL2A。创建付款时,将此 ID 指定为 issuer 参数以将消费者直接转发到他们的银行环境。

您可以通过调用此 API url 查看可用发行者的列表: https://api.mollie.nl/v1/issuers

如https://www.mollie.com/be/docs/reference/issuers/list中所述

要了解有关发行者的更多信息,请访问 API 文档的这一部分: https://www.mollie.com/be/docs/reference/issuers/get

【讨论】:

omnipay-mollie 模块中也支持获取发行者列表,使用$gateway->fetchIssuers() @nielsv 这不是你应该使用***的方式

以上是关于使用 Laravel Omnipay(mollie 网关)进行支付的主要内容,如果未能解决你的问题,请参考以下文章

Omnipay - 使用 Paypal Express 结帐 Laravel

使用 laravel 5.1 安装 Omnipay/payu

Omnipay 贝宝与 laravel 4 的集成

使用 Omnipay 将 PayPal REST API 集成到 Laravel - 需要 card 参数

Omnipay - Laravel - 完成 Paypal Pyment

在 OctoberCMS 插件中使用 Omnipay