「BufPay 开发平台」 的原理是通过安装到手机的App监控手机微信、支付宝的二维码扫码支付到账通知并回调开发者应用。消费者在支付的时候是扫描开发者的个人微信、支付宝收款二维码。
注意:Bufpay 支持企业支付宝。
注意:在 支付宝 - 我的 - 商家服务 - 商家工具 - 收钱码 可以申请提现免费、永不过期、稳定跳转 的支付宝收款二维码。
注意:当你发起支付请求的时候,系统会自动匹配和支付价格最接近的固定金额支付二维码,如果没有找到可用的(比如已经被使用或者不存在这个价格的支付二维码)系统会使用不固定金额支付二维码(支付页面会提示消费者手动输入支付金额)。
举例:比如你的商品价格是¥35,那么你可以上传你自己的微信、支付宝固定金额支付二维码¥34.97、¥34.98、¥34.99、¥35、¥35.01、¥35.02、¥35.03。当你发起金额为¥35支付请求的时候,会把 ¥35±0.1 的支付二维码都作为候选,选择一个最接近并且当前没有被使用的支付二维码返回给消费者支付。
接口地址:https://bufpay.com/api/pay/aid (在后台应用配置页面查看) 调用方法:POST (注意 content-type 设置为 application/x-www-form-urlencoded 哦) 调用参数: - name, 必填, 订单销售商品名称 - pay_type, 必填, 支付方式(可选alipay/wechat) - price, 必填, 订单价格 - order_id, 必填, 订单号 - order_uid, 必填, 订单购买用户(可以为空字符串,但是建议设置为购买用户编号,便于后续对账) - notify_url, 必填, 支付成功后回调地址 - return_url, 必填, 支付成功后前台跳转地址(可以为空字符串) - feedback_url, 选填, 用户支付后未到账(可能超时付款),支付页面显示的反馈按钮链接(可以为空字符串) - sign, 必填, 将参数按 name + pay_type + price + order_id + order_uid + notify_url + return_url + feedback_url + app secret 顺序拼接后MD5(纯 value 拼接,不要包含 + 号) 如果有问题,可以使用 API 调试器调试 注意:这个接口返回结果就是 json 格式的,需要你自己展示付款二维码。 注意:如果 api 后面加参数 round_robin=true 那么轮询使用各个手机收款(排除超过限额和权重为0的)。 注意:如果 api 后面加参数 expire=秒数 可以自定义订单过期秒数,默认是 300 秒。 注意:如果 api 后面加参数 price_type=floor 只会用价格小于请求价格的二维码;加参数 price_type=ceil 只会用价格大于请求价格的二维码。 注意:如果 api 后面加参数 price_gap=0.1 价格备选范围就是 支付价格 ±0.1 内(默认为 0.1)。 注意:如果 api 后面加参数 no_int=true 则不会使用整数金额二维码。 注意:如果 api 后面加参数 user_cache=true 那么创建订单时如果 同一个用户(order_uid)存在相同金额(price)、相同支付渠道(pay_type)且未过期的订单,
那么继续使用这个订单(这样不会产生很多订单、可以提高成功率、用户多次点击付款订单金额不会变化) json 格式接口返回: { "status": "ok", "aoid": "cad5076f55834f5fadddcfc018cc4068", "pay_type": "wechat", "price": "35.00", "qr_price": "", "qr": "wxp://f2f0-vFHHDCw3L4kPne1JzXyQ0nO0QKpQK2e" "qr_img": "data:image/jpeg;base64,/9j/4AAQSk......Bxiv/2Q==", "cid": 1, "expires_in": 270, "return_url": "http://yourdomain.com/return", "feedback_url": "http://yourdomain.com/feedback", } - status, 付款请求结果(只有为 ok 的时候才有其他的值) - aoid, bufpay平台订单唯一标示可用于查询订单状态 - pay_type, 支付类型 alipay/wechat - price, 订单价格 - qr_price, 实际支付二维码的金额,如果为空表示使用的是不固定金额二维码,具体金额需要用户输入,需要显示让用户输入 price 的数值 - qr, 支付二维码内容 - qr_img, 支付二维码图片 base64 格式 - cid, 该订单分配到的手机编号 - expires_in, 支付二维码剩余有效秒数 - return_url, 支付成功跳转地址 - feedback_url, 用户支付后未到账(可能超时付款),支付页面显示的反馈按钮链接 错误代码: - {"status": "sign_error"}, 签名错误 - {"status": "order_payed"}, 订单已支付 - {"status": "order_expire"}, 订单已过期 - {"status": "free_limit"}, 免费版达到每日订单限制 - {"status": "fee_error"}, 余额不足 - {"status": "qr_limit"}, 无可用二维码,可能是达到你设置的收款额度上限 或 没有可用于这个订单金额的二维码, 你可以多传一些这个价格附近的固定金额或上传一个不固定金额二维码 - {"status": "missing_argument", "info": "xxxxx"}, 缺少 xxxx 参数
接口地址:你传入的 notify_url 参数 调用方法:POST 调用参数: - aoid, bufpay平台订单唯一标识 - order_id, 你传入的 order_id 参数 - order_uid, 你传入的 order_uid 参数 - price, 订单价格 - pay_price, 用户支付的金额 - sign, 签名, 参数 aoid + order_id + order_uid + price + pay_price + app secret 顺序拼接后 MD5 当你收到 BufPay 的回调请求后,如果响应 HTTP code 200 那么 BufPay 会认为通知成功, 否则会再次通知 6 次,间隔为 1/2/4/16/64/300 分钟。
接口地址:https://bufpay.com/api/query/aoid 调用方法:GET 注意:api 里面的 aoid 为发起付款接口返回的 aoid 注意:该接口支持 JSONP 方式调用,增加 callback 参数即可 接口返回: - {"status": "not_exist"}, 订单不存在 - {"status": "new"}, 新订单 - {"status": "payed"}, 订单已支付未回调 - {"status": "success"}, 订单已支付已经回调成功 - {"status": "fee_error"}, 账户余额不足扣除手续费失败,订单未回调 - {"status": "expire"}, 订单已过期
import hashlib def sign(*p): return hashlib.md5(u''.join(p).encode('utf8')).hexdigest().lower() sign( u'内容订阅一年期', 'wechat', '50.00', '102', '[email protected]', 'http://example.com/bufpay_notify', 'http://example.com', 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' #app secret )
设置手机所占权重,分别为不同手机上传该手机上微信支付宝的收款二维码。
注意:手机被选中的概率为,该手机权重占所有手机总权重的比例,如果被中的手机不存在合适的二维码,那么会在其余手机中选择合适的二维码。
注意:每个收款的手机安装的 BufPay App 都需要在首页为其选择好编号。
如何启用该模式? 在后台应用配置 - 多手机配置 - 设置 alipay userid
支付宝扫描以下二维码查看 userid
不行,不过微信支付在微信浏览器里面可以长按二维码识别。
肯定的,用户支付的钱款不经过 BufPay 而是直接到你的微信和支付宝钱包,即时到账,绝对安全。
BufPay 用了严密的支付检测技术和二维码调度算法且服务器在国内,稳定运行已久,无一漏单。
不用。
「BufPay 开发平台」的原理就是监控微信、支付宝的二维码到账通知,通过在 Android 手机上面安装「BufPay 开发平台」App 可以监听到账通知,从而实现支付成功回调。如果手机没电或者没网络,那么手机就无法收到支付到账通知,用户扫码支付成功后就没办法回调你的服务接口了。
没有风险,这个支付过程和平常扫码支付一样,合理合规合法。
可以的。通过设置 format=json 参数可以返回 json 格式的支付数据,你可以自己渲染支付页面。
每月的套餐费用需要提前升级或者续费,每笔的手续费需要预先充值到你的 BufPay 账户。
不会,只有 BufPay App 检测到支付成功了,并且通知了你的服务器,才会扣手续费。
不能。
有多种可能。用户支付后到你的应用收到回调通知,大概有几秒的延迟,如果 BufPay 调用你的回调通知接口失败,BufPay 会连续通知三次,每次间隔一分钟。还有可能是订单已经过期后用户才付款,这也会导致不会收到回调通知。
你可以在后台的订单管理页面,找到这个用户对应的订单,然后点击「已经收款」按钮,bufpay.com 会调用你的回调接口通知这个订单已经收款。
支持的,BufPay 支持支付宝普通收款码和官方收钱码。
可能是 jdk 对 let's encrypt ssl 证书的支持问题,把 API 的 https 换成 http 即可
应该是没有开启 “微信收款语音播报” 在微信「我」-「钱包」-「收付款」- 「二维码收款」- 点击右上角三个点 开启收款到账语音提醒。
没有。
没有数量限制。每天最多上传5w张,超过5w张可以发给客服批量导入。
支持。
30 天流水超过 100w 自动免费延期套餐一个月。
不支持。
注意:必须开启 BufPay APP 的通知读取权限,否则无法读取支付通知。
安装 BufPay APP 后会自动跳转到通知设置页面,请找到「BufPay 收款」,并勾选。
以后要开启,请在系统「设置」-「更多设置」-「系统安全」-「通知读取权限」勾选。
在系统「设置」-「电量和性能」-「神隐模式」- 「应用配置」- 右上角三个点「关闭应用后台智能省电」。
在系统「设置」-「锁屏和密码」-「自动锁屏」- 选择「屏幕永不休眠」。
在系统「设置」-「授权管理」-「自启动管理」- 勾选 BufPay收款、微信、支付宝 允许自启动。
打开三个应用,然后按 设置键 呼出任务管理,向下拉动应用,锁定应用。
在系统「设置」-「WLAN」-「高级设置」- 关闭「WLAN优化」。
在系统「设置」-「通知和状态栏」-「通知管理」- 找到 BufPay收款、微信、支付宝 开启所有通知。
在微信「设置」-「勿扰模式」- 关闭 勿扰模式。
注意:如果你在电脑上也登陆了这个收款微信号,请记得把手机静音取消,不然就收不到付款通知哦。
在微信「我」-「钱包」-「收付款」- 「二维码收款」- 点击右上角三个点 开启收款到账语音提醒。
在支付宝搜索「支付助手」- 点击支付助手右上角图标 - 开启 接收支付消息提醒。
微信不能切换到首页(聊天列表页);如果手机支持分屏,建议把微信、支付宝显示到两个分屏,有助于即时收到微信支付宝到账推送,进程不被手机异常退出。
注意:必须开启 BufPay APP 的通知读取权限,否则无法读取支付通知。
安装 BufPay APP 后会自动跳转到通知设置页面,请找到「BufPay 收款」,并勾选。
以后要开启,请在系统「设置」-「锁定屏幕与安全」-「其他安全设置」-「高级设置」-「通知访问」勾选。
在系统「设置」-「常规设置」-「电池」- 「省电模式」- 点击关闭。
在系统「设置」-「显示」-「休眠」- 选择永不不要。
「智能管理器」-「应用程序管理」-「自启动应用程序」- 勾选 BufPay收款、微信、支付宝 允许自启动。
打开三个应用,然后按 设置键 呼出任务管理,向下拉动应用,锁定应用。
在系统「设置」-「链接」-「WLAN」- 右上角「高级」- 「睡眠期间保持 WLAN 开启」。
在系统「设置」-「应用程序」- 找到 BufPay收款、微信、支付宝 - 「通知」开启所有通知。
在微信「设置」-「勿扰模式」- 关闭 勿扰模式。
注意:如果你在电脑上也登陆了这个收款微信号,请记得把手机静音取消,不然就收不到付款通知哦。
在微信「我」-「钱包」-「收付款」- 「二维码收款」- 点击右上角三个点 开启收款到账语音提醒。
在支付宝搜索「支付助手」- 点击支付助手右上角图标 - 开启 接收支付消息提醒。
微信不能切换到首页(聊天列表页);如果手机支持分屏,建议把微信、支付宝显示到两个分屏,有助于即时收到微信支付宝到账推送,进程不被手机异常退出。
注意:必须开启 BufPay APP 的通知读取权限,否则无法读取支付通知。
安装 BufPay APP 后会自动跳转到通知设置页面,请找到「BufPay 收款」,并勾选。
以后要开启,请在系统「设置」-「应用和通知」-「应用管理」- 底部「设置」-「特殊访问权限」-「通知使用权」勾选。
在系统「设置」-「电池」- 「省电模式」和「超级省电」- 点击关闭。
在系统「设置」-「显示」- 「休眠」- 点击永不(如果这里没有出现永不休眠选项,那么需要开启开发者模式才会出现这个选项,在关于手机里面,点击5次版本号即可开启)。
「设置」-「电池」-「启动管理」- 勾选 BufPay收款、微信、支付宝 允许自启动。
打开三个应用,然后按 设置键 呼出任务管理,点击锁定图标,锁定应用。
在系统「设置」-「无线和网络」-「WLAN」- 「WLAN+」- 点击关闭。
在系统「设置」-「无线和网络」-「WLAN」- 底部「设置」- 「在休眠状态下保存 WLAN 连接」选择始终。
在系统「设置」-「应用和通知」- 「通知管理」- 找到 BufPay收款、微信、支付宝 - 「通知」开启所有通知。
在微信「设置」-「勿扰模式」- 关闭 勿扰模式。
注意:如果你在电脑上也登陆了这个收款微信号,请记得把手机静音取消,不然就收不到付款通知哦。
在微信「我」-「钱包」-「收付款」- 「二维码收款」- 点击右上角三个点 开启收款到账语音提醒。
在支付宝搜索「支付助手」- 点击支付助手右上角图标 - 开启 接收支付消息提醒。
微信不能切换到首页(聊天列表页);如果手机支持分屏,建议把微信、支付宝显示到两个分屏,有助于即时收到微信支付宝到账推送,进程不被手机异常退出。