Paypal: метод получения страны покупателя для установления почтовых цен без дополнительных шагов

Это, наверное, глупый вопрос, я думаю, что у меня ментальный блок.

Я хочу использовать экспресс-оплату Paypal, чтобы покупатели могли совершать покупки с минимальным количеством шагов (также с использованием дополнительной функции учетной записи Paypal). Проблема в том, что для того, чтобы направить пользователя в PayPal, мне нужно рассчитать стоимость доставки, которая зависит от страны, в которой он находится. Очевидно, я не могу знать это, если мне так или иначе не сказали. Каковы общие решения этой проблемы?

Идеи:

  1. Используйте их IP-адрес. Ненадежно - различные виды прокси, VPN, анонимайзеры и т.д.
  2. Попросите пользователя выбрать свою страну из раскрывающегося списка, прежде чем я перенаправлю его на PayPal.
  3. Заставьте их войти в систему с помощью службы идентификации Paypal перед расчетом почтовых расходов.
  4. Use 1. or 2. and once payment is received, if country is different to expected,
    • Refund buyer the difference in postage cost or request an additional payment. (Hardly ideal)
  5. Similar to 4., instead of "Sale Payment Action for Express Checkout" Use 1. or 2. in conjunction with one of Paypal's delayed express checkout payment methods and if necessary reduce or increase the amount charged:
    • Authorization Payment Action for Express Checkout
    • Действие по оплате заказа для экспресс-оплаты

Я хотел бы знать, какие решения выбрали другие разработчики - может быть, я пропустил идею. Как потребитель, я не помню, чтобы видел решения для этого.


person CL22    schedule 21.04.2014    source источник


Ответы (1)


Обычно люди делают это просто с помощью GetExpressCheckoutDetails, чтобы получить адрес доставки покупателя, при необходимости применить любую доставку/налоги и отобразить на вашем сайте страницу окончательного обзора, которую пользователь подтвердит перед вызовом DoExpressCheckoutPayment.

Если вы хотите убрать дополнительную страницу обзора (PayPal, а затем свою собственную), вы можете использовать API мгновенного обновления.

В этом случае вы должны включить дополнительный параметр в URL-адрес при перенаправлении на PayPal (useraction=commit), и это изменит кнопку на странице обзора PayPal, чтобы она говорила «Оплатить» вместо «Продолжить».

Также в свой запрос SEC вы включите параметр CALLBACK и URL-адрес вашего прослушивателя обратного вызова. Страница обзора PayPal отправит адрес доставки покупателя на этот URL-адрес обратного вызова, чтобы вы могли получить данные, рассчитать доставку и налог соответственно и отправить ответ с этими вариантами обратно на страницу обзора PayPal. Это заполнит раскрывающееся меню страницы обзора PayPal для варианта доставки, и пользователь сможет выбрать соответствующий вариант.

Этот метод позволяет вам полностью использовать страницу обзора PayPal и завершить платеж там, так что единственное, что пользователь увидит после возвращения на ваш сайт (после того, как вы позвоните в DECP), — это окончательная страница благодарности / квитанции.

person Drew Angell    schedule 21.04.2014
comment
Тщательно информативный и полезный ответ, очень признателен, спасибо! - person CL22; 21.04.2014