我试图将Paypal作为支付网关集成到我的Laravel 5.8
网站中。为了做到这一点,我使用了Laravel-Omnipay包,它提供了Omnipay
集成到Laravel中。
至于我的Paypal
商业账户,我已经设置了我的凭据。使用paypal沙箱和以下代码工作:
Route::get('paypal', function() {
$gateway = Omnipay::create('PayPal_Rest');
$gateway->initialize(array(
'clientId' => 'MySandboxClientId',
'secret' => 'MySandboxSecret',
'testMode' => true,
));
$card = new CreditCard(array(
'firstName' => 'first name',
'lastName' => 'last name',
'number' => '5498876202508868',
'cvv' => '123',
'expiryMonth' => '09',
'expiryYear' => '2024',
'billingAddress1' => '1 Scrubby Creek Road',
'billingCountry' => 'AU',
'billingCity' => 'Scrubby Creek',
'billingPostcode' => '4999',
'billingState' => 'QLD',
));
try {
$transaction = $gateway->purchase(array(
'amount' => '10.00',
'currency' => 'USD',
'description' => 'This is a test purchase transaction.',
'card' => $card,
));
$response = $transaction->send();
$data = $response->getData();
dd($data);
echo "Gateway purchase response data == " . print_r($data, true) . "\n";
if ($response->isSuccessful()) {
echo "Purchase transaction was successful!\n";
}
} catch (\Exception $e) {
echo "Exception caught while attempting authorize.\n";
echo "Exception type == " . get_class($e) . "\n";
echo "Message == " . $e->getMessage() . "\n";
}
});
但是,当我尝试使用自己的信用卡进行实时支付时,我会出现Unauthorized payment.
错误。我使用的代码与上面的代码相同,我只是将clientId和secret替换为我的实时沙盒凭据。
我怎样才能实时调用REST API?我需要进行1美元的交易,以便测试该卡是否有效。
2条答案
按热度按时间eyh26e7m1#
根据贝宝文件,未经授权的付款错误发生时,
未经账户所有者许可,从借记卡或信用卡、银行账户或PayPal账户进行的任何付款都是未经授权的付款。
当PayPal认为某笔付款未经授权时,我们会对其进行冻结。在我们确定该笔付款是否经过授权之前,您无法提取款项。
如果付款未经授权,款项将退回到发件人的帐户。符合PayPal卖家保障资格准则的卖家将受到保护。
因此,这可能是信用卡的问题。请尝试使用另一张信用卡或按照此处提到的说明操作。Unauthorized error paypal
ep6jt1vc2#
只需将'testMode' =〉true设置为'testMode' =〉false即可