微信公众号支付(JSAPI支付)
- 支付场景:用户在微信内置浏览器中访问商户网页时发起的支付46
- 交互方式:用户在商户页面确认支付后,调起微信支付控件完成支付
- 身份验证:必须通过OAuth2.0授权获取用户OpenID615
- 技术基础:基于微信公众号体系,支付需明确具体用户
"你扫我"支付(付款码支付)
- 支付场景:用户出示付款码,商户扫码完成扣款816
- 交互方式:被动支付,用户亮码→商户扫码→系统扣款
- 身份验证:通过付款码中的支付令牌完成身份鉴权,无需OpenID817
"我扫你"支付(Native支付)
- 支付场景:用户主动扫描商户提供的收款二维码完成支付1012
- 交互方式:主动支付,用户扫码→输入金额→确认支付
- 身份验证:通过商户二维码信息完成资金路由,无需OpenID1219
下单接口差异对比
三种支付模式使用不同的下单接口,具体对比如下:
参数要求详细说明
微信公众号支付(JSAPI)参数46
- appid:公众账号ID,需与商户号绑定
- mchid:微信支付分配的商户号
- description:商品描述(127字符内)
- out_trade_no:商户订单号(6-32字符,唯一)
- amount:订单金额(单位:分)
- payer:支付者信息(必须包含openid字段)
"你扫我"支付参数1718
- appid:应用appid
- mchid:直连商户号
- description:商品描述
- out_trade_no:商户订单号
- amount:订单金额
- 付款码:用户出示的付款码字符串
"我扫你"支付参数1219
- appid:应用appid
- mchid:商户号
- description:商品描述
- out_trade_no:商户订单号
- amount:订单金额
- 无需用户身份标识参数
安全与适用场景分析
安全性对比1920
- 微信公众号支付:基于OAuth授权,安全性最高
- "你扫我"支付:存在付款码盗刷风险,需注意遮挡
- "我扫你"支付:存在二维码篡改风险,需核实商户信息
推荐应用场景
- 微信公众号支付:微信内商城、公众号在线服务
- "你扫我"支付:超市、连锁店等标准化收银环境
- "我扫你"支付:路边摊、小型商户、个人交易
技术实现要点
- 接口版本:当前微信支付主要使用V3接口,采用RESTful API设计和JSON参数格式22
- 签名机制:V3接口使用非对称密钥SHA256-RSA签名22
- 结果确认:所有支付方式都必须通过查询订单API确认最终交易状态817
总结而言,三种支付模式在技术实现、身份验证和适用场景上存在显著差异。微信公众号支付必须依赖OpenID,而两种扫码支付均无需OpenID即可完成交易。您需要根据具体的业务场景选择合适的支付产品,并遵循对应的开发规范
 
 
		
         
  
  
 
 
	    		 