Paypal可以在没有公共地址的情况下用于localhost中的生产吗?

时间:2019-06-04 05:31:52

标签: python api testing flask paypal

我正在使用Flask并尝试在生产中使用Paypal工作,我没有公共领域,它在沙盒帐户中效果很好。

在生产中没有公共域(本地主机)或在生产中进行测试的方式,贝宝是否可以工作?

没有,还有其他收款方式吗?

payment = paypalrestsdk.Payment({
"intent": "sale",
"payer": {
    "payment_method": "paypal"},
"redirect_urls": {
    "return_url": "http://localhost:3000/payment/execute",
    "cancel_url": "http://localhost:3000/"},
"transactions": [{
    "item_list": {
        "items": [{
            "name": "item",
            "sku": "item",
            "price": "5.00",
            "currency": "USD",
            "quantity": 1}]},
    "amount": {
        "total": "5.00",
        "currency": "USD"},
    "description": "This is the payment transaction description."}]})

2 个答案:

答案 0 :(得分:0)

贝宝(PayPal)的documentation将要求您建立互联网连接,以使用其沙盒进行测试。您可以看到here,这些示例调用同时需要取消和返回URL,这将要求您的系统在Internet上具有公共地址(否则PayPal将无法路由响应)。

如果您希望在网络内运行测试而不调用PayPal的沙箱,则必须设置自己的系统来模拟PayPal的响应。但是,鉴于PayPal运行自己的沙箱,这似乎是您不希望遇到的维护难题。

答案 1 :(得分:0)

要处理PayPal付款,您需要公共互联网连接,但不一定需要任何公共网站。

PayPal集成甚至不必使用任何API,例如,这里的集成通过一个简单的URL接受付款,收件人的电子邮件地址为https://www.paypal.com/webscr?cmd=_xclick&business=YOUR_EMAIL_HERE@DOMAIN.COM&item_name=THIS_IS_A_TEST&amount=100&currency_code=USD

当然,您似乎正在使用restsdk,因此,如果这是您的期望,则该sdk将需要在某些服务器上运行,并且可能是某些private / localhost / Intranet服务器。

但是,私有服务器上基于API的集成的实用程序极为有限。您将如何接受真实客户的付款?除了特定的“ PayPal Here”应用程序外,PayPal绝不能在“信息亭”模式下使用,它旨在让客户从自己的设备访问。这几乎总是涉及最终在公共网站上部署到生产中