Как отказаться от оплаты Paypal, если не из данного места проживания?

Мы локализуем наш веб-сайт, и мы хотим, чтобы пользователи могли платить в долларах США и евро, исходя из их местоположения. Все на месте, мы определяем страну на основе ИС, и мы выбираем валюту соответственно. Однако есть одна возможность мошенничества, с которой мы еще не справились.

Мы хотим, чтобы наши пользователи не платили в долларах США (цена на доллары дешевле), когда они действительно находятся в Европе (если они используют прокси), поэтому я хочу использовать резиденцию Paypal для двойной проверки во время или даже до оплаты.

Я знаю, что могу проверить местонахождение страны проживания пользователя в данных POST, отправленных на наш IP-адрес Paypal IPN. Если страна не является США, я могу отказаться от любого платежа в долларах США, автоматически возвращая сумму обратно пользователю. Возмещение, однако, не очень аккуратно, и я заметил, что, например, Spotify может отказаться от абонентского платежа, прежде чем заплатить. Поэтому они не работают с возмещением. Как это работает? Как они могут отказаться от платежа через Paypal до того, как платеж будет завершен?

Было бы неплохо иметь возможность передать код страны Paypal, говорящий, что «этот платеж может сделать только гражданин США», но я не нашел такой вариант в документах здесь: https://developer.paypal.com/ Docs / классические / PayPal платежи стандарт / интеграционного руководство / Appx_websitestandard_htmlvariables /

(Да, мы используем повторяющиеся платежи по Стандарту платежей)

Благодаря 🙂

С API-интерфейсами PayPal RESTful вы получаете согласие пользователя на то, чтобы сделать от имени имени API-адреса Identity API перенаправлением их на конечную точку авторизации. После получения авторизации вы можете запросить подробную информацию о пользователе из PayPal, включая locale пользователя и номер phone_number .

https://developer.paypal.com/docs/api/#get-user-information

Эта информация должна быть достаточной, чтобы установить, какой уровень цен применяется.

С API PayPal Express Checkout, когда вы запрашиваете токены и данные пользователя с помощью

  GetExpressCheckoutDetails 

попросить их

  &COUNTRYCODE= 

Затем, если он не соответствует цене, которую они выбрали, не платите, а используйте DoVoid (он отменяет заказ или авторизацию, которую совершил продавец с клиентом), сбросить цены в соответствии со значением & COUNTRYCODE и запросить новый токен , (PayPal отменит авторизацию платежа примерно через два дня самостоятельно. Не нужно ничего возвращать, если вы не платите.)

Видеть:

  https://developer.paypal.com/docs/classic/express-checkout/integration-guide/ECGettingStarted/#id0832BC00JY4 

(Будьте предупреждены: при продаже европейцам вам может потребоваться зарегистрировать налог на добавленную стоимость в Европе в стране по вашему выбору, если вы пересечете пороговую сумму общего дохода в год в любой стране ЕС. И тогда европейцы удивляются почему они должны платить больше. Чрезмерная красная лента приводит к издержкам.)