¿Cómo rechazar un pago de Paypal si no es de un país de residencia determinado?

Estamos localizando nuestro sitio web y queremos que los usuarios puedan pagar en USD y EUR, según su ubicación. Todo está en su lugar, detectamos el país basado en IP y elegimos una moneda en consecuencia. Sin embargo, hay una posibilidad de fraude que aún no hemos abordado.

Queremos evitar que nuestros usuarios paguen en USD (el precio en USD es más barato) cuando están realmente en Europa (en caso de que usen un proxy), por lo que quiero usar el residence_country de Paypal para una doble verificación durante o incluso antes del pago.

Sé que puedo verificar el residence_country del usuario en los datos de POST enviados a nuestra URL de notificación de Paypal IPN. Si el país no es EE. UU., Puedo rechazar cualquier pago en USD reembolsando automáticamente el importe al usuario. Sin embargo, el reembolso no es muy claro y noté que, por ejemplo, Spotify puede rechazar un pago de suscripción incluso antes de pagar. Entonces no funcionan con el reembolso. ¿Como funciona esto? ¿Cómo pueden rechazar un pago a través de Paypal antes de que se complete el pago?

Sería bueno poder pasar un código de país a Paypal diciendo “este pago solo lo puede hacer un ciudadano estadounidense”, pero no he encontrado esa opción en los documentos aquí: https://developer.paypal.com/ docs / classic / paypal-payments-standard / integration-guide / Appx_websitestandard_htmlvariables /

(Sí, utilizamos pagos periódicos para el Estándar de pagos)

Gracias 🙂

Con las API RESTful de PayPal, obtiene el consentimiento de un usuario para realizar llamadas a la API de Identidad en su nombre al redirigirlas al punto final de la autorización. Una vez que obtenga la autorización, puede solicitar información detallada del usuario de PayPal, incluida la locale del usuario y el número de phone_number .

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

Esta información debería ser suficiente para establecer qué nivel de precios se aplica.

Con PayPal Express Checkout API, cuando solicita el token y los datos del usuario con

  GetExpressCheckoutDetails 

pregunta por su

  &COUNTRYCODE= 

Luego, si no coincide con el precio que seleccionaron, no carguen, pero utilicen DoVoid (revierte un pedido o una autorización que un comerciante haya realizado con un cliente), restablezca el precio de acuerdo con el valor de & COUNTRYCODE y solicite un nuevo token . (PayPal soltará la autorización de pago después de dos días por sí solo. No es necesario reembolsar nada si no cobró).

Ver:

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

(Tenga cuidado: cuando venda a europeos, se le puede solicitar que se registre para el impuesto sobre el IVA en Europa en un país de su elección si cruza una cantidad umbral de ingresos totales por año en cualquier país de la UE. Y entonces los europeos se preguntan por qué tienen que pagar más. Un exceso de trámites burocráticos eleva los costos).