Fork me
on GitHub

导航

错误

{{ ErrMsg }}

成功

{{ SuccessMsg }}

PayJS

PAYJS 简介

我们的生活被框在了一个个熟悉的首屏icon里,独角兽和流量大户在行业赛道不断角逐,它们是这时代的主角

但还有这样一些,一直在坚持的个人开发者、个体户、个人创业者、小公司、小众产品,因为不够刚需、缺少推广、没有大腿可抱而不为人知,但产品足够用心、好玩好用、口碑扎实,这些给平淡生活带来一丝惊喜的人,正在通过自己独特的方式诠释、甚至影响着这个世界

我们坚信他们的价值,并愿意与其共同成长

每个梦想,都值得灌溉

PAYJS 旨在解决需要使用交易数据流的个人、创业者、个体户等小微支付需求,帮助开发者使想法快速转变为原型

PAYJS 只负责信息流,不接管资金流。资金无任何风险

PayJs SDK for Go

此站为了演示PayJs SDK for Go做的demo

使用Golang开发的PayJS SDK,简单、易用。

Thanks

感谢 WeChat SDK for Go

感谢 NES-style CSS Framework

Native 扫码支付(主扫)

订单标题可自定义,但是不能是敏感词,为了保险起见,所以现在固定订单标题!

自定义数据,但是不能是敏感词,为了保险起见,所以现在自定义数据!

选择支付方式

付款二维码

自己系统生成的订单号:{{ native.out_trade_no_resp }}

PayJS生成的订单号:{{ native.payjs_order_id_resp }}

金额:{{ native.total_fee_resp }}

订单标题:{{ native.body }}

支付方式:请使用支付宝扫码

支付方式:请使用微信扫码

付款码支付(被扫)

订单标题可自定义,但是不能是敏感词,为了保险起见,所以现在固定订单标题!

自定义数据,但是不能是敏感词,为了保险起见,所以现在自定义数据!

扫码支付授权码本来应该用硬件设备扫码获得,现可以手动输入。方法:打开微信=》右上角的加号=》收付款=》点击可查看付款码数字=》这个数字就是扫码支付授权码

这里需要注意。在需要等待用户输入密码的情况下,该接口PayJS返回的ReturnCode也是0,但PayJSOrderID会返回。需要自行拿返回中的PayJSOrderID通过订单check接口检查订单状态,30秒后则超时,订单不能被支付,订单状态变为 未支付 状态

可以复制提示框内的payjs_order_id去"订单查询"内查询是否支付成功

支付结果

自己系统生成的订单号:{{ micropay.out_trade_no_resp }}

PayJS生成的订单号:{{ micropay.payjs_order_id_resp }}

金额:{{ micropay.total_fee_resp }}

订单标题:{{ micropay.body }}

收银台支付

订单标题可自定义,但是不能是敏感词,为了保险起见,所以现在固定订单标题!

自定义数据,但是不能是敏感词,为了保险起见,所以现在自定义数据!

是否自动发起支付
是否隐藏收银台背景界面

支付链接

自己系统生成的订单号:{{ cashier.out_trade_no }}

金额:{{ cashier.total_fee }}

订单标题:{{ cashier.body }}

支付链接:{{ cashier.url_resp }}

支付链接要在微信内打开才有效

点击跳转到支付链接

JSAPI支付-官方文档

订单标题可自定义,但是不能是敏感词,为了保险起见,所以现在固定订单标题!

自定义数据,但是不能是敏感词,为了保险起见,所以现在自定义数据!

请求参数

PAYJS 订单号:{{ jsapi.payjs_order_id_resp }}

用于发起支付的支付参数:{{ jsapi.jsapi_resp }}

获取参数后接下来是通过 jssdk 或 WeixinJsBridge 方式自行发起支付,条件有限,无法演示

小程序支付-官方文档

小程序发起支付的解决方案有两种,仅供测试使用

方案一:使用小程序消息,结合收银台模式,可以解决小程序支付

方案二:使用小程序跳转到 PAYJS 小程序,支付后返回(下文详细介绍的方案)

条件限制,无法全部演示。下面仅演示如何获取订单参数。更详细的步骤请参考官方文档。

订单标题可自定义,但是不能是敏感词,为了保险起见,所以现在固定订单标题!

自定义数据,但是不能是敏感词,为了保险起见,所以现在自定义数据!

订单参数

{{ miniapp.order_info }}

人脸支付

条件限制,无法演示。

订单查询-官方文档

订单详情

PAYJS 平台商户号:{{ order.mchid_check_resp }}

用户端订单号:{{ order.out_trade_no_check_resp }}

PAYJS 订单号:{{ order.payjs_order_id_check_resp }}

微信显示订单号:{{ order.transaction_id_check_resp }}

支付状态(0:未支付,1:支付成功):{{ order.status_check_resp }}

用户 OPENID:{{ order.openid_check_resp }}

订单金额:{{ order.total_fee_check_resp }}

订单支付时间:{{ order.paid_time_check_resp }}

用户自定义数据:{{ order.attach_check_resp }}

订单关闭-官方文档

订单取消成功

PAYJS 订单号:{{ order.payjs_order_id_close_resp }}

订单撤销-官方文档

撤销订单主要是针对一些异常订单,例如无法查询或确定订单状态。一般在人脸支付场景中可能会出现。其它场景没遇到过

订单撤销成功

PAYJS 订单号:{{ order.payjs_order_id_reverse_resp }}

订单退款-官方文档

订单退款成功

PAYJS 订单号:{{ order.payjs_order_id_refund_resp }}

用户侧订单号:{{ order.out_trade_no_refund_resp }}

微信支付订单号:{{ order.transaction_id_refund_resp }}

异步通知-官方文档

其实在扫码支付内,成功支付后,点击"我已支付",如果显示支付成功则表示异步通知成功了。不太好演示。

用户-获取openid-官方文档

openid:

用户-获取资料-官方文档

请先点击“点击获取openid”获取到openid后再点击“点击获取用户资料”。

用户资料

subscribe:{{ user.subscribe }}

openid:{{ user.openid }}

nickname:{{ user.nickname }}

sex:{{ user.sex }}

city:{{ user.city }}

country:{{ user.country }}

province:{{ user.province }}

language:{{ user.language }}

headimgurl:{{ user.headimgurl }}

subscribe_time:{{ user.subscribe_time }}

remark:{{ user.remark }}

groupid:{{ user.groupid }}

tagid_list:{{ user.tagid_list }}

subscribe_scene:{{ user.subscribe_scene }}

qr_scene:{{ user.qr_scene }}

qr_scene_str:{{ user.qr_scene_str }}

商户资料-官方文档

获取的商户资料是此DEMO作者的

商户资料

用户豆豆数:{{ mch.doudou }}

商户名称:{{ mch.name }}

用户姓名:{{ mch.username }}

身份证号:{{ mch.idcardno }}

JSAPI 支付目录:{{ mch.jsapi_path }}

客服电话:{{ mch.phone }}

银行编码查询-官方文档

银行编码

{{ bank.bank_resp }}

获取异步通知服务器IP列表-官方文档未公开

获取成功

IP列表:{{ ip.iplist_resp }}