我正在使用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."}]})
答案 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¤cy_code=USD
当然,您似乎正在使用restsdk,因此,如果这是您的期望,则该sdk将需要在某些服务器上运行,并且可能是某些private / localhost / Intranet服务器。
但是,私有服务器上基于API的集成的实用程序极为有限。您将如何接受真实客户的付款?除了特定的“ PayPal Here”应用程序外,PayPal绝不能在“信息亭”模式下使用,它旨在让客户从自己的设备访问。这几乎总是涉及最终在公共网站上部署到生产中