一,alipay方式

1,国内的alipay支付:我在网上找了好多的教程,大多数都是属于国内内支付的,所以在这里我就不详细介绍了,

  操作:https://www.cnblogs.com/xuanan/p/7892052.html

 2,境外的alipay支付: 

使用python内置的模块:Alipay

alipay_client =Alipay(
pid=PID,
key=商户的key,
seller_email=商家的email
)

接口的集成:

data={
'partner': PID,
'_input_charset': "utf-8",
'notify_url':异步回调接口,
'return_url':付款后返回给用户的接口,
'out_trade_no': 订单号,
'subject': subject,
'currency': "USD(货币)",
'total_fee':价钱(美元),
'body':'Alwayshoming system service.',
'app_pay':'Y'
}

电脑网页版api:

order_string=alipay_client.create_forex_trade_url(**data)

手机网页版api:

order_string=alipay_client.create_forex_trade_wap_url(**data)

二,Paypal支付

使用paypal支付有两种操作方法,

1,是将数据封装好,然后在使用requests去请求Paypal的付款接口

   2,就是使用python支付模块:paypalrestsdk

按钮的集成:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body> <div id="paypal_button"></div>
<script> $(document).ready(function(){
init_paypal();
});
function init_paypal(){
paypal.Button.render({ env: 'production', // Or 'sandbox',
client: {
sandbox: '*****',
production: '*****'
},
commit: true, // Show a 'Pay Now' button style: {
label: 'paypal',
size: 'medium', // small | medium | large | responsive
shape: 'rect', // pill | rect
color: 'blue', // gold | blue | silver | black
tagline: false
}, payment: function(data, actions) {
/* Set up the payment here */
var create_data = {
"order_id": order_id
};
var CREATE_URL = *****;
return paypal.request({method: 'post',
url: CREATE_URL,
data: create_data,
headers: {
'X-CSRFToken': CSRF_TOKEN
}
}).then(function(res) {
return res.paymentID;
});
}, onAuthorize: function(data, actions) {
/* * Execute the payment here */
var EXECUTE_URL = *****';
// Set up the data you need to pass to your server
var datas = {
"paymentID": data.paymentID,
"payerID": data.payerID,
"order_id":order_id
};
// Make a call to your server to execute the payment
return paypal.request({method: 'POST',
url: EXECUTE_URL,
data:datas,
headers: {
'X-CSRFToken': CSRF_TOKEN
}
}).then(function (res) {
if(res.code !== 0) {
alert(res.error.message);
} else {
window.alert(res.data);
window.location.href = *****;
}
}); },
onCancel: function(data, actions) {
/*Buyer cancelled the payment*/
window.alert('Payment Cancel');
}, onError: function(err) {
/*
* An error occurred during the transaction
*/
window.alert(*****);
}
}, '#paypal_button');
} </script> </body>
</html>

       在使用paypalrestsdk集成支付接口对象

paypalrestsdk.configure({
"mode": "live", # sandbox or live
"client_id": "********",
"client_secret": "*******"})

   加入付款信息:

payment = paypalrestsdk.Payment({
"intent": "***",
"payer": {
"payment_method": "paypal"},
"redirect_urls": {
"return_url": "****",
"cancel_url": "***"},
"transactions": [{
"item_list": {
"items": [{
"name": "item",
"sku": "item",
"price": order.price,
"currency": "USD",
"quantity": 1}]},
"amount": {
"total": order.price,
"currency": "USD"},
"description": description}]})

    确认付款:

payment = paypalrestsdk.Payment.find(payment_id)  

三,stripe信用卡支付

详细使用方法:https://stripe.com/docs

python进行支付:

def stripe_payment(request):
if request.is_ajax():
if request.method == 'POST':
pay_data = request.data
token = pay_data['token']
order_id = pay_data['order_id']
description = pay_data['description']
price = 价钱乘以100
try:
stripe.api_key = "sk_test_QPtlnU7Sl7skmuOZWAmqyuTO"
charge = stripe.Charge.create(
amount=price,
currency='usd',
description=description,
source=token,
)
result = 'Payment ' + charge['status']
except Exception as e:
result = e.message
return Response({'code': 0, 'data': result})

  

python之支付的更多相关文章

  1. Python支付宝在线支付API

    一.蚂蚁金服开发平台申请测试账号 a. 登陆蚂蚁金服开放平台https://open.alipay.com/platform/manageHome.htm,在“开发中心”—“研发服务”下拉处选择沙箱作 ...

  2. 微信支付 python版

    需求: 微信打开商品列表页面-> 点击商品后直接显示付款页面-> 点击付款调用微信支付 说明 微信支付需要你申请了公众号(appid, key - 用于签名), 商户号(mch_id, A ...

  3. 第四百零三节,python网站在线支付,支付宝接口集成与远程调试,

    第四百零三节,python网站在线支付,支付宝接口集成与远程调试, windows系统安装Python虚拟环境 首先保证你的系统已经安装好了Python 安装virtualenv C:\WINDOWS ...

  4. python 全栈开发,Day106(结算中心(详细),立即支付)

    昨日内容回顾 1. 为什么要开发路飞学城? 提供在线教育的学成率: 特色: 学,看视频,单独录制增加趣味性. 练,练习题 改,改学生代码 管,管理 测,阶段考核 线下:8次留级考试 2. 组织架构 - ...

  5. python 全栈开发,Day102(支付宝支付)

    昨日内容回顾 1. django请求生命周期? - 当用户在浏览器中输入url时,浏览器会生成请求头和请求体发给服务端 请求头和请求体中会包含浏览器的动作(action),这个动作通常为get或者po ...

  6. s11 day 101 python Linux环境安装 与路飞项目支付功能

    from django.conf.urls import urlfrom django.contrib import adminfrom app01 import viewsurlpatterns = ...

  7. Python实现支付宝在线支付

    windows系统安装Python虚拟环境 首先保证你的系统已经安装好了Python 安装virtualenv C:\WINDOWS\system32>pip3 install virtuale ...

  8. Python支付接口汇总大全(包含微信、支付宝等)

    微信接口 wzhifuSDK- 由微信支付SDK 官方PHP Demo移植而来,v3.37下载地址 weixin_pay- 是一个简单的微信支付的接口 weixin_pay- 微信支付接口(V3.3. ...

  9. Python实现微信小程序支付功能

    由于最近自己在做小程序的支付,就在这里简单介绍一下讲一下用python做小程序支付这个流程.当然在进行开发之前还是建议读一下具体的流程,清楚支付的过程. 1.支付交互流程 当然具体的参数配置可以参考官 ...

随机推荐

  1. CentOS 6.5 64位下安装Redis3.0.2的具体流程

    系统环境:CentOS 6.5 64位 安装方式:编译安装 防火墙:开启 Redis版本:Redis 3.0.2 一.环境准备 1.安装 gcc gcc-c++ [root@iZ94ebgv853Z ...

  2. IDEA中使用中jetty启动java项目(非springboot)

    1.安装maven helper插件,略 2.项目pom.xml文件中添加jetty插件配置 <build> <plugins> <plugin> <grou ...

  3. ansible批量自动安装LNMP

  4. docker学习-lnmp+redis之搭建redis容器服务

    1. 目录映射:/lnmp/data/redis:/data/lnmp/conf/redis/redis.conf:/etc/redis/redis.conf/lnmp/logs/redis:/var ...

  5. try-catch-finally 与返回值的修改

    先看一段java代码,func返回值为int: public static int func() { int result = 0; try { result = 1; return result; ...

  6. 关于STM32CubeMX使用LL库设置PWM输出

    HAL和LL库 HAL是ST为了实现代码在ST家族的MCU上的移植性,推出的一个库,称为硬件抽象层,很明显,这样做将会牺牲存储资源,所以项目最后的代码比较冗余,且运行效率大大降低,运行速度受制于fla ...

  7. command not found解决方案

    如果新装的系统,运行一些很正常的诸如:shutdown,fdisk的命令时,悍然提示:bash:command not found.那么 首先就要考虑root 的$PATH里是否已经包含了这些环境变量 ...

  8. webservice学习01:wsdl文档结构

    webservice学习01:wsdl文档结构 wsdl文档结构 WSDL文档示例 <wsdl:definitions xmlns:xsd="http://www.w3.org/200 ...

  9. hosts更改域名之后怎么生效

    原先配置好的ip + 域名,现在更改了域名,可是保存了hosts之后,访问到的还是原先的域名. 现将方法记录如下,亲测有效: 新建(在桌面新建即可)一个txt文件,将hosts文件里所有的配置复制过来 ...

  10. spring注解式参数校验

    很痛苦遇到大量的参数进行校验,在业务中还要抛出异常或者返回异常时的校验信息,在代码中相当冗长,今天我们就来学习spring注解式参数校验. 其实就是:hibernate的validator. 开始啦. ...