2

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();
}
});

私はこれを得る: InvalidRequestException in AbstractRequest.php line 122: The card parameter is required

収集したくないクライアントのクレジットカード情報でその購入を開始する必要があるようです(したがって、最初にPayPalを使用します)。クレジット カードを使用せずにその API を使用する方法はありますか?

コード内に PayPal のユーザー名とパスワードを入れたくないので、Express API の使用は好きではありません。いくつかの理由で。

4

2 に答える 2

1

カード配列フィールドは必須です。クレジット カード番号を挿入する必要はありませんが、いくつかの情報を提供する必要があります。

公式ドキュメントから:

多くの場合、顧客の請求または配送の詳細をゲートウェイに渡す必要があるため、オフサイトのゲートウェイでも CreditCard オブジェクトを利用します。

于 2015-01-08T21:28:58.103 に答える