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

标签 php rest laravel paypal omnipay

我正在使用 L5 并希望将我的 PayPal 购买集成到该系统中。沙盒已经设置好,我可以使用真正的 PayPal API 包进行所有支付,但由于我想尝试使用 Omnipay 进行支付,所以我遇到了一些困难:

当我执行这段代码时:

Route::get('test', function()
{
$gateway = Omnipay::create('PayPal_Rest');
$gateway->setClientId('{my id}');
$gateway->setSecret('{my secret}');
$gateway->setTestMode(true);

$params = array(
    'cancelUrl' => 'http://webshop.app',
    'returnUrl' => 'http://webshop.app/testresp',
    'name'  => 'Your Purchase',
    'description' => 'Your Description',
    'amount' => '15.99',
    'currency' => 'EUR'
);

Session::put('params', $params);
Session::save();

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

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

我明白了: AbstractRequest.php 第 122 行中的 InvalidRequestException: 卡参数必填

似乎我必须使用客户的信用卡信息开始购买,而我不想收集这些信息(因此首先使用 PayPal)。有什么方法可以在不使用信用卡的情况下使用该 API?

我不喜欢使用 Express API,因为我不想在我的代码中使用我的 PayPal 用户名和密码。出于几个原因。

最佳答案

Card 数组字段是必需的。不需要输入信用卡号,但您需要提供一些信息。

From the official docs:

Even off-site gateways make use of the CreditCard object, because often you need to pass customer billing or shipping details through to the gateway.

关于php - 使用 Omnipay 将 PayPal REST API 集成到 Laravel - 需要卡参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27838250/

相关文章:

php - Laravel 转换器 vs 资源

php调用嵌套函数

php - 从数组保存数据而不提交任何表单php

php - 关于 session_destroy 的模糊性

rest - 使用 PowerShell 在 TFS 2015 REST API 中构建队列

javascript - 创建rest api以从odoo erp检索数据

php - 针对现有 REST 登录系统使用 amp-access 需要什么?

php - 使用 PHP 加载数据的 jQuery 分页

java - 如何开发接受多个 URI 的 REST Web 服务方法

php - 如果 Laravel 的内置身份验证中的身份验证逻辑重定向?