Отправить пользователя на PayPal Guest Checkout
Я хотел бы использовать PayPal, чтобы разрешить своим клиентам осуществлять платежи с помощью кредитной или дебетовой карты. Я уже разрешаю платежи с помощью PayPal. Я знаю, что под кнопкой входа в систему PayPal находится кнопка с надписью "Оплатить с помощью кредитной или дебетовой карты", но я хотел бы отправить пользователя прямо из скрипта в PayPal Guest Checkout.
Я использую PayPal SDK и это мой код:
if($Payment_Type == 0)
{
if(!isset($Payment_Type))
{
die();
}
$product = 'Reservation';
$price = $Total;
$shipping = 0.00;
$total = $price + $shipping;
$payer = new Payer();
$payer->setPaymentMethod('paypal');
$item = new Item();
$item->setName($product)
->setCurrency('USD')
->setQuantity(1)
->setPrice($price);
$itemList = new ItemList();
$itemList->setItems([$item]);
$details = new Details();
$details->setShipping($shipping)
->setSubtotal($price);
$amount = new Amount();
$amount->setCurrency('USD')
->setTotal($total)
->setDetails($details);
$transaction = new Transaction();
$transaction->setAmount($amount)
->setItemList($itemList)
->setDescription('Service My Transfer In Cabo')
->setInvoiceNumber(uniqid());
$redirectUrls = new RedirectUrls();
$redirectUrls->setReturnUrl(SITE_URL . '/pay.php?success=true)
->setCancelUrl(SITE_URL . '/pay.php?success=false);
$payment = new Payment();
$payment->setIntent('sale')
->setPayer($payer)
->setRedirectUrls($redirectUrls)
->setTransactions([$transaction]);
try { $payment->create($paypal); }
catch(Exception $e){ die($e); }
$approvalUrl = $payment->getApprovalLink();
header("Location: {$approvalUrl}");
}
elseif($Payment_Type == 2)
{
1 ответ
К сожалению, проверка гостей еще не поддерживается в REST API. Вам нужно будет использовать Classic API Express Checkout, если вы хотите принудительно оформить выезд.
Вы можете использовать нашу библиотеку классов PayPal PHP, чтобы быстро и легко настроить классические вызовы. Тогда вам просто нужно настроить следующие параметры в вашем запросе SetExpressCheckout:
- SOLUTIONTYPE = Sole
- LandingPage = Billing
- USERSELECTEDFUNDINGSOURCE = CreditCard
Пытаться:
$flowConfig = new \PayPal\Api\FlowConfig();
$flowConfig->setLandingPageType("Billing");
Установите этот flowConfig в webProfile
, и делать:
$webProfile->create($this->apiContext);
добавьте ExperienceProfileId к запросу на создание платежа, как показано ниже:
$payment->setIntent("sale")
->setPayer($payer)
->setRedirectUrls($redirectUrls)
->setTransactions(array($transaction));
->setExperienceProfileId(**********)
См. /questions/2536837/ispolzovanie-obektov-v-paypal-php-rest-api-sdk/2536849#2536849