Я использую Paypal REST, PHP SDK master.
Этот вопрос касается платежей.
Мне нужно знать, как получить PayerID, когда я
используя метод оплаты «credit_card».
Если вы посмотрите в PHP SDK под образцами / платежами
вы увидите два примера файлов, CreatePayment.php и
ExecutePayment.php. Эти образцы работают независимо.
Вот что я хочу сделать.
В CreatePayment.php я хочу вызвать ExecutePayment.php.
В нижней части файла CreatePaymet.php я бы
линия примерно такая.
header( "Location: ExecutePayment.php?success=true&PayerID=ABC12345678
Вопрос в том, где я могу получить PayerID?
Теперь у меня это работает с использованием метода оплаты PayPal.
(В SDK см. CreatePaymentUsingPayPal)
То, как работает, вы даете ему URL перенаправления для
Возврат и отмена (вы не предоставляете Approval_ur)
Затем внизу файла он имеет
этот код, где он перебирает ссылки на объект платежа,
и получает одобрение_урл.
foreach($payment->getLinks() as $link) {
if($link->getRel() == 'approval_url') {
$redirectUrl = $link->getHref();
break;
}
}
if(isset($redirectUrl)) {
header("Location: $redirectUrl");
exit;
}
$ RedirectUrl (compatibility_url) выглядит примерно так:
и контроль перейдет туда.
< https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&маркер = EC-12345678AB5432123>
Когда контроль вернется на ваш сайт, вы будете
увидеть, что возвращенный URL, который вы указали,
теперь к его концу добавлен идентификатор PayerID и токен.
Другими словами, сервис PayPal предоставляет вам
PayerID и автоматически добавляет его к вашему
обратный URL
Вот как это работает, используя способ оплаты PayPal.
Теперь вопрос в том, как мне получить PayerID, используя
способ оплаты кредитной картой?
Каждый раз, когда вы используете платежи PayPal, это двухэтапный процесс, когда вы получите идентификатор плательщика после того, как покупатель утвердит платеж на странице оформления платежа PayPal, затем вы будете использовать этот идентификатор для снятия средств с их счета PayPal.
Но платежи по кредитным картам — это один шаг, когда вы отправите запрос на создание в PayPal с помощью кредитной карты и другой информации, и транзакции будут выполнены одновременно. Таким образом, для платежей по кредитным картам не существует никакого шага «выполнить».
Других решений пока нет …