首页 文章

如果没有来自某个住所的国家,如何拒绝Paypal付款?

提问于
浏览
1

我们正在本地化我们的网站,我们希望用户能够根据他们的位置支付美元和欧元 . 一切都到位,我们根据IP检测国家,我们相应地选择货币 . 然而,我们尚未解决一种欺诈可能性 .

我们希望阻止我们的用户在欧洲实际支付美元(美元价格更便宜)(如果他们使用代理),所以我想在付款期间甚至付款之前使用Paypal的residence_country进行双重检查 .

我知道我可以在发送到我们的Paypal IPN通知网址的POST数据中检查用户的residence_country . 如果该国家不是美国,我可以通过自动将金额退还给用户来拒绝任何美元付款 . 然而,退款并不是很整洁,我注意到例如Spotify能够在您付款之前拒绝订阅付款 . 所以他们不能退款 . 这是如何运作的?在付款完成之前,他们如何通过Paypal拒绝付款?

能够将国家代码传递给Paypal说"this payment can only be done by a US citizen"会很高兴但是我在这里的文档中没有找到这样的选项:https://developer.paypal.com/docs/classic/paypal-payments-standard/integration-guide/Appx_websitestandard_htmlvariables/

(是的,我们使用付款标准的定期付款)

谢谢 :)

2 回答

  • 1

    使用PayPal RESTful API,您可以获得用户同意通过将其重定向到授权 endpoints 来代表他们进行Identity API调用 . 获得授权后,您可以从PayPal请求精细的用户信息,包括用户的 localephone_number .

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

    此信息应足以确定适用的价格水平 .

  • 1

    使用PayPal Express Checkout API,当您请求令牌和用户数据时

    GetExpressCheckoutDetails
    

    问他们的

    &COUNTRYCODE=
    

    然后,如果它与他们选择的价格不匹配,请不要收费但使用DoVoid(它会撤销商家与客户签订的订单或授权),根据&COUNTRYCODE的值重置定价,并申请新的令牌 . (PayPal将在大约两天后自行取消付款授权 . 如果您没有收费,则无需退款 . )

    看到:

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

    (请注意:在向欧洲人出售产品时,如果您在欧盟任何一个国家/地区超过每年总收入的门槛数量,您可能需要在您选择的国家/地区注册增值税 . 然后欧洲人会对此感到惊讶为什么他们需要支付更多费用 . 过多的繁文缛节会增加成本 . )

相关问题