首页 / 科技创新 / python 跨境电商(python shopee)

python 跨境电商(python shopee)

Time:2024-06-11 04:06:38 Read:253 作者:CEO

如果您的公司从事外贸或跨境支付业务,您一定听说过大名鼎鼎的PayPal。总体来说,PayPal在跨境贸易方面具有比较大的优势。作为一种外贸支付方式,目前在国际贸易中使用较多。该支付服务受到数亿用户的高度追捧,是全球商家和消费者最流行的电子支付方式之一。在跨境交易中,超过90% 的卖家和超过85% 的买家认可并正在使用PayPal 电子产品。支付业务。当然,PayPal的国际业务量肯定没有理由如此惊人。

PayPal支付的优势在于其业务网络遍布全球。目前,PayPal庞大的网络覆盖全球200多个国家,提供20多种语言的服务,接受100多种货币的付款和56种货币的现金提取。同时,账户中还允许持有25种货币的余额。也就是说,付款人只要拥有PayPal账户,就可以在200多个国家进行电子支付购物,并在需要服务时享受母语支持的各种便捷服务。

python 跨境电商(python shopee)

(资料图片仅供参考)

前面几篇文章介绍了国内支付宝支付:Python3.7.2+Django2.0.4 美多商城集成最新版支付宝支付接口(2019.04)和微信支付:mpvue1.0+python3.7+Django2.0.4实现微信Mini支付功能该计划的

这是我们第一次尝试使用Django2集成跨境三方支付接口PayPal

首先注册官网https://www.paypal.com和开发者平台:https://developer.paypal.com/developer/accounts/

注册成功后,进入沙盒的账户控制页面:https://developer.paypal.com/developer/accounts/

默认情况下会创建两个账户,一个为商户,另一个为个人。

我们演示的流程是用个人账户登录第三方网站向商户账户付款。当然,如果您不想使用默认帐户,也可以点击右侧创建帐户的蓝色按钮单独创建。

然后进入应用管理页面:https://developer.paypal.com/developer/applications/

默认已创建支付应用程序。记录下它的client_id和client_secret,后面会用到。

随后,我们可以返回账户管理页面修改个人账户的支付余额

设置最高限制

如果您愿意,还可以更改登录密码,因为稍后我们将使用此帐户进行登录。注意,所有这些登录和支付操作都将在沙箱环境中完成,完全不会影响生产环境的使用。

ok,完成这些之后,前置任务就完成了。现在运行命令在python 端安装paypal sdk。

pip3 install paypalrestsdk 现在你可以在django中创建一个新的支付视图views.py

import paypalrestsdkdef payment(request): paypalrestsdk.configure({ 'mode': 'sandbox', # sandbox 代表沙箱'client_id': 'your client_id, 'client_secret': 'your client_secret' }) payment=paypalrestsdk.Payment ({ 'intent': 'sale', 'payer': { ' payment_method': 'paypal'}, 'redirect_urls': { 'return_url': 'http://localhost:8000/palpay/pay/',#支付成功跳转页面'cancel_url ': ' http://localhost:3000/paypal/cancel/'},#取消支付页面'transactions': [{ 'amount': { 'total': '5.00', 'currency': 'USD'}, 'description': '这是一笔订单test'}]}) if payment.create(): print('付款创建成功') for payment.links: if link.rel=='approval_url':approval_url=str(link.href) print('重定向为approval: %s' % (approval_url)) return redirect(approval_url) else: print( payment.error) return HttpResponse('支付失败') 这里我们解释一下关键参数。 return_url为支付成功后的回调页面。 Paypal会返回一个付款人ID,然后服务器需要验证支付后才能真正完成支付。 Total为支付金额,精确到分钟,currency为币种,支持多种币种。

Django服务器创建支付订单后,会重定向到paypal沙箱环境。这时候就必须使用沙盒的个人账户来登录并支付。

支付完成后,会跳转回刚才传递的回调页面:http://localhost:8000/palpay/pay/? paymentId=PAYID-L3SYORA3C031930S1733650Jtoken=EC-9TG269735K620131NPayerID=ETYYRCDN8C3XJ

这里paypal会传递三个参数,支付id、token和payer id。

这时,在回调方法中,我们需要通过payer id来确认并验证支付。

def payment_execute(request): paymentid=request.Get.get(' paymentId') #订单id payerid=request.Get.get('PayerID') #付款人id payment=paypalrestsdk.Payment.find( paymentid) if payment. execute({'payer_id': payerid}): print('支付执行成功') return HttpResponse('支付成功') else: print( payment.error) # 错误哈希return HttpResponse('支付失败') 最后返回管理页面,发现$5已经不见了,说明付款流程已经完成。

这笔交易圆满结束。当然,有些时候我们需要查看交易流程,我们也可以通过界面查看交易详情。

#Detailed payment=paypalrestsdk.Payment.find('订单号')print( payment) 可以看到,通过传入订单id,我们就有了交易的状态、交易id、创建日期。

如果用户想要退款,可以使用交易明细中的序列号来办理退款业务。

#Refund from paypalrestsdk import Salesale=Sale.find('serial number')# 进行Refund API 调用# 仅在部分退款时设置金额refund=sale.refund({ 'amount': { 'total': '5.00', ' currency': 'USD'}})# 查看退款状态if returned.success(): print('退款[%s]成功' % (refund.id))else: print('无法退款') print(refund.error ) 结论:

总体来说,没有什么特别困难的地方。整个支付流程比支付宝更加紧凑,但支付安全是重中之重。就个人体验而言(仅个人体验),支付宝在安全性方面做得很好。比Paypal还是稍微好一些。至少在信用卡诈骗、盗窃方面有更好的风险控制,在风险保障和赔偿方面提供了保险。当然,由于金融环境的巨大差异,并不意味着Paypal的风险控制能力更好。虽然做得不好,但机制不一样。在国外,如果持卡人的信用卡被盗,发卡机构一般会让商户承担责任,但在中国,只能在交易过程中设置更多的验证,本质上是对持卡人负责。这也是支付宝风控看起来比较好的原因。

最后是费率问题。 Paypal的官方费率是每笔交易3.9%+0.3美元(比例可以根据你的交易流量进行折扣,具体下限取决于用户每月的业务额度),但是这是一把漂亮的刀,不得不说这个比例相当高,但国内电商企业进行海外支付一般还是需要连接Paypal作为支付方式。支付宝的手续费率基本在1.2%左右。具体费率还取决于交易流量。强者的下限基本可以是没有。单纯看费率,支付宝似乎更有优势,但别忘了,这种比较并不准确。从科学角度来说,因为任何连接Paypal的人都对涉及外币业务的领域感兴趣,而费率是投资者应该考虑的问题。

Copyright © 2002-2024 讯肆科技网 版权所有 

免责声明: 1、本站部分内容系互联网收集或编辑转载,并不代表本网赞同其观点和对其真实性负责。 2、本页面内容里面包含的图片、视频、音频等文件均为外部引用,本站一律不提供存储。 3、如涉及作品内容、版权和其它问题,请在30日内与本网联系,我们将在第一时间删除或断开链接! 4、本站如遇以版权恶意诈骗,我们必奉陪到底,抵制恶意行为。 ※ 有关作品版权事宜请联系客服邮箱:478923*qq.com(*换成@)

备案号: 沪ICP备2023025279号-31