Я интегрировал PayPal в codeigniter с помощью paypal_helper (не помню, где я его нашел, но это немного переписанная версия исходного кода Paypals для экспресс-оплаты. Я пытаюсь вызвать эту функцию
CallShortcutExpressCheckout ($ paymentAmount, $ currencyCodeType, $ paymentType, $ returnURL, $ cancelURL)
, отправив $ paymentAmount как int, $ currencyCodeType как "NOK" и $ paymentType как "Распродажа".
Как в песочнице, так и вживую, на сайте PayPal никакая сумма не отображается ...
Что могло быть не так?
Редактировать, чтобы подробнее объяснить мой процесс. Я использую это, в основном, как указано в https://www.paypal-labs.com/integrationwizard/ecpaypal/cart.php . Это должно быть возможно без формы? PaymentAmount может быть отправлен как стандартная переменная при вызове функции CallShortcutExpressCheckout?:
$resArray = CallShortcutExpressCheckout ($paymentAmount, $currencyCodeType, $paymentType, $returnURL, $cancelURL);
$ack = strtoupper($resArray["ACK"]);
if($ack=="SUCCESS" || $ack=="SUCCESSWITHWARNING")
{
RedirectToPayPal ( $resArray["TOKEN"] );
}
else
{
//Display a user friendly Error on the page using any of the following error information returned by PayPal
$ErrorCode = urldecode($resArray["L_ERRORCODE0"]);
$ErrorShortMsg = urldecode($resArray["L_SHORTMESSAGE0"]);
$ErrorLongMsg = urldecode($resArray["L_LONGMESSAGE0"]);
$ErrorSeverityCode = urldecode($resArray["L_SEVERITYCODE0"]);
echo "SetExpressCheckout API call failed. ";
echo "Detailed Error Message: " . $ErrorLongMsg;
echo "Short Error Message: " . $ErrorShortMsg;
echo "Error Code: " . $ErrorCode;
echo "Error Severity Code: " . $ErrorSeverityCode;
}
Токен сохраняется в базе данных. Пользователь перенаправляется на Paypal, где не указана сумма.