模拟使用 PayHydro 代理收款服务的第三方网站
https://pay.hydrocoder.com/demo/callback
适用场景:用户在电脑上操作,显示二维码,用手机微信扫码完成支付。
需要后端调用API创建订单
后端代码示例 (Python):
import requests
def create_order(api_key, amount_fen, attach=''):
"""创建支付订单"""
url = 'https://pay.hydrocoder.com/api/v1/pay/create'
headers = {
'Content-Type': 'application/json',
'X-API-Key': api_key
}
data = {
'amount': amount_fen, # 金额,单位:分
'attach': attach # 附加数据,回调时原样返回
}
resp = requests.post(url, json=data, headers=headers)
return resp.json()
# 使用示例
result = create_order('your_api_key_here', 100) # 1元
if result['success']:
qrcode_url = result['qrcode'] # 二维码图片URL
order_no = result['order_no'] # 订单号
print(f'请扫码支付: {qrcode_url}')
回调处理示例:
from flask import Flask, request
app = Flask(__name__)
@app.route('/your/callback', methods=['POST'])
def payment_callback():
"""接收支付成功通知"""
data = request.get_json()
order_no = data['order_no'] # 订单号
amount = data['amount'] # 金额(分)
status = data['status'] # 状态: paid
attach = data.get('attach', '') # 附加数据
# TODO: 处理您的业务逻辑
# 例如:更新订单状态、发货、开通服务等
return 'success' # 必须返回 success
适用场景:用户在微信内打开链接,直接唤起微信支付完成付款。
无需后端开发,只需构造一个链接即可!适合公众号、朋友圈分享。
HTML 接入(最简单):
<!-- 直接放在公众号文章或网页中 --> <a href="https://pay.hydrocoder.com/pay/gateway?key=YOUR_KEY&amount=100"> 立即支付 1元 </a> <!-- 带附加数据 --> <a href="https://pay.hydrocoder.com/pay/gateway?key=YOUR_KEY&amount=100&attach=user_id=123"> 立即支付 </a>
JavaScript 动态生成:
function generatePayUrl(apiKey, amountFen, attach) {
const params = new URLSearchParams({
key: apiKey,
amount: amountFen
});
if (attach) params.append('attach', attach);
return `https://pay.hydrocoder.com/pay/gateway?${params}`;
}
// 使用示例
const payUrl = generatePayUrl('your_api_key', 100, 'order_id=abc123');
window.location.href = payUrl; // 跳转支付
回调处理(同电脑端扫码):
// 支付成功后,PayHydro 会 POST 到您在 Key 中设置的回调地址
// 回调数据格式:
{
"order_no": "2024...", // 订单号
"amount": 100, // 金额(分)
"status": "paid", // 状态
"attach": "order_id=abc123" // 您的附加数据
}
重要提示:此链接必须在微信内打开才能支付!
适合放在公众号文章、微信消息、朋友圈等场景。