Так что я играю с песочницей Paypal, и я только что реализовал транзакции с кредитными картами. Я внимательно следил за примером Paypal Dev, но, похоже, он постоянно возвращает ошибку. Я попробовал несколько кредитных карт. Все работало правильно, прежде чем я делал транзакции с прямыми кредитными картами.Paypal Sandbox Api Ошибка проверки?
<?php
use PayPal\Api\Payer;
use PayPal\Api\Details;
use PayPal\Api\Amount;
use PayPal\Api\Transaction;
use PayPal\Api\Payment;
use PayPal\Api\RedirectUrls;
use PayPal\Api\CreditCard;
use PayPal\Api\FundingInstrument;
use PayPal\Exception\PayPalConnectionException;
require 'protected/extensions/paypal/src/start.php';
$payer = new Payer();
$details = new Details();
$amount = new Amount();
$transaction = new Transaction();
$payment = new Payment();
$redirectUrls = new RedirectUrls();
$card = new CreditCard();
$card->setType("visa")
->setNumber("4214024046137679")
->setExpireMonth("03")
->setExpireYear("2020")
// ->setCvv2("012")
->setFirstName("asdf")
->setLastName("asdf");
$fi = new FundingInstrument();
$fi->setCreditCard($card);
//PAYER
$payer->setPaymentMethod("credit_card")
->setFundingInstruments(array($fi));
//Details
//acutal prices(20 dollars is a test)
//Amount
$details->setShipping(0.0)
->setSubtotal(20.00);
$amount->setCurrency("CAD")
->setTotal(20.00)
->setDetails($details);
//Transaction
$transaction->setAmount($amount)
->setDescription('Membership');
//Payment
$payment->setIntent("sale")
->setPayer($payer)
->setRedirectUrls($redirectUrls)
->setTransactions(array($transaction));
$payment->setRedirectUrls($redirectUrls);
try{
$payment->create($api);
$currentId = Yii::app()->user->getId();
$transactionHash = $payment->getId();
// $_SESSION['transactionId'] = $transactionHash;
$update = Yii::app()->db->createCommand()
->update('member', array(
'transactionId'=> $transactionHash,
), 'id=:id', array(':id'=> $currentId));
var_dump($payment->create($api));
} catch(PayPal\Exception\PayPalConnectionException $ex){
echo $ex->getData();
}
// $approvalUrl = $payment->getApprovalLink();
// $redirectUrl = $payment->getHref();
// header('Location: ' . $approvalUrl);
?>
Это ошибка она возвращается:
{ "имя": "VALIDATION_ERROR", "детали": [{ "поле": "payer.funding_instruments [0] .credit_card. number "," issue ":" Value is invalid "}, {" field ":" payer.funding_instruments [0] .credit_card.number "," issue ":" Must be numeric "}]," message ":" Invalid просьба - подробности см «„information_link“:» https://developer.paypal.com/webapps/developer/docs/api/#VALIDATION_ERROR»,„debug_id“:„d25b7c74793c9“}
Вы нашли ответ на этот вопрос? У меня такая же проблема – AshanPerera