私のウェブサイトにlaravelでpaypal支払いを実装しようとしています。私はomnipay
laravelパッケージを使用しましたが、現在はテスト用にサンドボックスを使用しています。リクエストを次のように構成したことを確認しました。
$gateway = Omnipay::create('PayPal_Express');
$gateway->setUsername('my_user_name_from_sandbox');
$gateway->setPassword('my_passwrd_from_sandbox');
$gateway->setSignature('my_signature_from_sandbox');
$gateway->setTestMode(true);
$response = $gateway->purchase(
array(
'cancelUrl' => 'http://localhost/payment_cancel',
'returnUrl' => 'http://localhost/payment_success',
'name' => 'item11',
'description' => 'description',
'amount' => '50.00',
'currency' => 'USD'
)
)->send();
そして成功関数では、上記のコードをコピーしました:
$response = $gateway->completePurchase(
array(
'cancelUrl' => 'http://localhost/payment_cancel',
'returnUrl' => 'http://localhost/payment_success',
'amount' => '50.00',
'currency' => 'USD'
)
)->send();
$data = $response->getData(); // this is the raw response object
echo '<pre>';
print_r($data);
その結果、失敗したトランザクションが発生します:
Array
(
[TIMESTAMP] => 2014-10-29T20:55:40Z
[CORRELATIONID] => 34f24e6e8194c
[ACK] => Failure
[VERSION] => 85.0
[BUILD] => 13565888
[L_ERRORCODE0] => 10002
[L_SHORTMESSAGE0] => Security error
[L_LONGMESSAGE0] => Security header is not valid
[L_SEVERITYCODE0] => Error
)
ユーザー名、パスワード、および署名がサンドボックス パラメーターと同じであることを確認し、返されたURLが&
.
- 編集 -
これを読んで、omnipay パッケージで言及されたパラメーターを確認したところ、次のことがわかりました。
protected $liveEndpoint = 'https://api-3t.paypal.com/nvp';
protected $testEndpoint = 'https://api-3t.sandbox.paypal.com/nvp';
エラー:production.ERROR: exception 'Guzzle\Http\Exception\CurlException' with message '[curl] 6: Could not resolve host: api-3t.paypal.com
この問題を解決するのを手伝ってくれませんか?