推荐一下github上一键集合的微信和支付宝支付

16

推荐一下github上一键集合的微信和支付宝支付

很高兴为你推荐一键集合的微信和支付宝支付方案!以下是详细描述:

微信支付

微信支付是一种流行的在线支付方式,尤其是在中国市场。接入微信支付需要遵循以下几个步骤:

1. 统一下单(放在服务端,需要加密参数)

首先,我们需要在服务端生成一个统一下单请求。这个请求包含了订单信息,如订单金额、商品名称等。我们需要使用微信支付的API来生成这个请求。

```pythonimport requests服务端生成统一下单请求def generate_unified_order():

订单信息 order_amount =1.00 order_goods_name = "测试商品"

微信支付 API 地址 api_url = " 请求体 request_body = {

"appid": "你的APPID",

"mch_id": "你的商户号",

"nonce_str": generate_nonce_str(),

"body": order_goods_name,

"total_fee": int(order_amount *100),

"trade_type": "JSAPI"

}

加密参数 request_body["sign"] = generate_sign(request_body)

return requests.post(api_url, data=request_body)

```

2.生成支付参数(放在服务端,需要生成签名)

在接收到统一下单请求的响应后,我们需要生成一个支付参数。这个参数包含了支付信息,如订单金额、商品名称等。

```pythonimport json服务端生成支付参数def generate_pay_params(response):

支付参数 pay_params = {

"appId": "你的APPID",

"timeStamp": str(int(time.time())),

"nonceStr": generate_nonce_str(),

"package": "prepay_id=" + response["prepay_id"],

"signType": "MD5",

"paySign": generate_sign(pay_params)

}

return pay_params```

3. 调用客户端SDK发起支付在接收到支付参数后,我们需要使用微信支付的客户端SDK来发起支付。

```pythonimport wx 客户端发起支付def start_payment(pay_params):

微信支付 SDK 地址 sdk_url = " 加载微信支付 SDK wx.load(sdk_url)

发起支付 wx.chooseWXPay({

"appId": pay_params["appId"],

"timeStamp": pay_params["timeStamp"],

"nonceStr": pay_params["nonceStr"],

"package": pay_params["package"],

"signType": pay_params["signType"],

"paySign": pay_params["paySign"]

})

```

4.服务端异步接收支付结果在发起支付后,我们需要在服务端异步接收支付结果。

```pythonimport requests服务端接收支付结果def receive_payment_result():

支付结果 API 地址 api_url = " 请求体 request_body = {

"appid": "你的APPID",

"mch_id": "你的商户号",

"nonce_str": generate_nonce_str(),

"transaction_id": "支付订单 ID"

}

加密参数 request_body["sign"] = generate_sign(request_body)

return requests.post(api_url, data=request_body)

```

支付宝支付

支付宝支付是一种流行的在线支付方式,尤其是在中国市场。接入支付宝支付需要遵循以下几个步骤:

1. 统一下单(放在服务端,需要加密参数)

首先,我们需要在服务端生成一个统一下单请求。这个请求包含了订单信息,如订单金额、商品名称等。

```pythonimport requests服务端生成统一下单请求def generate_unified_order():

订单信息 order_amount =1.00 order_goods_name = "测试商品"

支付宝支付 API 地址 api_url = " 请求体 request_body = {

"biz_content": json.dumps({

"subject": order_goods_name,

"total_amount": order_amount,

"out_trade_no": generate_out_trade_no()

}),

"app_id": "你的APPID",

"format": "json",

"timestamp": str(int(time.time())),

"sign_type": "RSA2",

"sign": generate_sign(request_body)

}

return requests.post(api_url, data=request_body)

```

2.生成支付参数(放在服务端,需要生成签名)

在接收到统一下单请求的响应后,我们需要生成一个支付参数。这个参数包含了支付信息,如订单金额、商品名称等。

```pythonimport json服务端生成支付参数def generate_pay_params(response):

支付参数 pay_params = {

"app_id": "你的APPID",

"format": "json",

"timestamp": str(int(time.time())),

"sign_type": "RSA2",

"biz_content": json.dumps({

"out_trade_no": response["out_trade_no"],

"trade_status": response["trade_status"]

}),

"sign": generate_sign(pay_params)

}

return pay_params```

3. 调用客户端SDK发起支付在接收到支付参数后,我们需要使用支付宝支付的客户端SDK来发起支付。

```pythonimport alipay 客户端发起支付def start_payment(pay_params):

支付宝支付 SDK 地址 sdk_url = " 加载支付宝支付 SDK alipay.load(sdk_url)

发起支付 alipay.trade.pay({

"app_id": pay_params["app_id"],

"format": pay_params["format"],

"timestamp": pay_params["timestamp"],

"sign_type": pay_params["sign_type"],

"biz_content": pay_params["biz_content"]

})

```

4.服务端异步接收支付结果在发起支付后,我们需要在服务端异步接收支付结果。

```pythonimport requests服务端接收支付结果def receive_payment_result():

支付结果 API 地址 api_url = " 请求体 request_body = {

"app_id": "你的APPID",

"format": "json",

"timestamp": str(int(time.time())),

"sign_type": "RSA2",

"biz_content": json.dumps({

"out_trade_no": "支付订单 ID"

}),

"sign": generate_sign(request_body)

}

return requests.post(api_url, data=request_body)

```

以上是微信和支付宝支付的一键集合方案。这个方案包含了统一下单、生成支付参数、调用客户端SDK发起支付以及服务端异步接收支付结果的步骤。

支付

版权声明:除非特别标注,否则均为网络文章,侵权请联系站长删除。

上一篇 微信小程序加密SSL证书失效怎么回事?

下一篇 办公软件有哪些?什么邮箱能用微信收发邮件呢?