проблема экспресс-оплаты php paypal - PullRequest
6 голосов
/ 27 сентября 2011

Я пытаюсь встроить PayPal Express Checkout на моем сайте. Я пытался проверить с помощью песочницы. Когда я отправляю данные с моего сайта, токен генерируется без ошибок, но при перенаправлении на PayPal он не показывает сумму платежа. Кстати, я использую код от мастера экспресс-оплаты PayPal. Будет полезно, если кто-нибудь укажет мне правильное направление.

require_once ("paypalfunctions.php");

$paymentAmount = 15;

$currencyCodeType = "GBP";
$paymentType = "Sale";
$returnURL = "http://www.mysite.com/paypal/confirm.php";
$cancelURL = "http://www.mysite.com/paypal/index.php";
$resArray = CallShortcutExpressCheckout ($paymentAmount, $currencyCodeType,            $paymentType, $returnURL, $cancelURL);
$ack = strtoupper($resArray["ACK"]);
if($ack=="SUCCESS")
{
RedirectToPayPal ( $resArray["TOKEN"] );

} 

1 Ответ

17 голосов
/ 28 сентября 2011

Поскольку вы не передаете так называемые «данные позиции» (данные о продукте), PayPal не отображает общую сумму.

Если вы хотите показать только сумму для текущей покупки, перенаправьте покупателей на https://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=EC-xxxxxx&useraction=commit (вместо https://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=EC-xxxxx)

Если вы хотите начать отправку сведений о позиции в PayPal, включите в запрос SetExpressCheckout API следующее:

// Total amount of the purchase, incl shipping, tax, etc  
PAYMENTREQUEST_0_AMT=300.0  
// Total amount of items purchased, excl shipping, tax, etc     
PAYMENTREQUEST_0_ITEMAMT=300.0  
// Authorize the funds first (Authorization), or capture immediately (Sale)?    
PAYMENTREQUEST_0_PAYMENTACTION=Sale  
// First item  
L_PAYMENTREQUEST_0_NAME0=Item1  
L_PAYMENTREQUEST_0_QTY0=1  
L_PAYMENTREQUEST_0_AMT0=100.00  
// Second item  
L_PAYMENTREQUEST_0_NAME1=Item2  
L_PAYMENTREQUEST_0_QTY1=1  
L_PAYMENTREQUEST_0_AMT1=200.00 

Если вы хотите увидеть это и в своей собственной истории, вам также необходимо включить это в DoExpressCheckoutPayment.

...