微信支付之PC网站(Native)支付详解

了解支付模式
Native

在这里插入图片描述
在这里插入图片描述

适用场景:

Native支付是指商户系统按微信支付协议生成支付二维码,用户再用微信“扫一扫”完成支付的模式。该模式适用于PC网站实体店单品订单媒体广告支付等场景。

解释:
  • 这里描述一下PC端业务场景,例如:你在网站上购买东西,选择好商品后,会生成一个支付二维码,扫码支付后,商品的库存就减少了。 还有,自动贩卖机,选择商品后会生成支付二维码,扫码支付后,商品就会掉下来。
开发前准备
  • 申请认证公众号 (若已有公众号则可跳过, 注意: 1. 公众号类型需要为服务号或者订阅号 2. 公众号需要认证, 认证费用300RMB点此跳转申请公众号
  • 申请网站备案 (若网站已备案则可跳过,注意:网站的备案内容需要和所出售商品直接关系)
  • 有以上两个条件后可以开始申请开通微信支付,具体的申请流程公众号平台都有,读者可自行去查阅。
  • 注意:1.开通微信支付需要公司账户打款验证,要及时和财务沟通好,查看公司流水。2.开通成功后,会收到邮件 ,邮件中的信息特别重要:示例如下在这里插入图片描述
    在这里插入图片描述
  • 以上三条均申请完成即可开始配置开发环境。拿到邮件中的信息后,按照邮件中的指引配置好相关信息之后就可以开始开发了。
    注意:很重要的几个信息,
      1. API证书
      1. API密钥
      1. APPID
开发工具:本文采用的是idea,其他IDE开发工具均可
环境准备:
添加依赖
		<!-- 添加微信支付jar包 -->
		<dependency>
			<groupId>com.github.wxpay</groupId>
			<artifactId>wxpay-sdk</artifactId>
			<version>0.0.3</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/dom4j/dom4j -->
		<dependency>
			<groupId>dom4j</groupId>
			<artifactId>dom4j</artifactId>
			<version>1.6.1</version>
		</dependency>
		<!-- 二维码生成依赖 -->
		<!-- 二维码 -->
		<!-- https://mvnrepository.com/artifact/com.google.zxing/core -->
		<dependency>
			<groupId>com.google.zxing</groupId>
			<artifactId>core</artifactId>
			<version>2.1</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/com.google.zxing/javase -->
		<dependency>
			<groupId>com.google.zxing</groupId>
			<artifactId>javase</artifactId>
			<version>2.1</version>
		</dependency>
示例代码目录

在这里插入图片描述

支付:
	/**
	 * 映射微信支付
	 *
	 * @param amount  金额(单位:分)
	 * @return
	 */
	@RequestMapping("/wxpay")
	public void wxPay(Integer amount,HttpServletResponse response) throws Exception {
   
		// 金额
		Double total_fee = amount.doubleValue();
		// 生成商家订单号
		String orderId = PayUtil.createOrder();
		if (total_fee > 0) {
   
			WXPayService wxPayService = WXPayService.getInstance(certPath, notifyUrl);
			String codeUrl = wxPayService.doUnifiedOrder(orderId, "收银台名称", total_fee, "产品id");

			//  ---------- 订单保存到数据库 ----------
			// 这里写你自己的订单保存逻辑
			// BizOrder bizOrder = new BizOrder();
			// bizOrder.setAmount(amount);
			// bizOrder.setAppid(PayConstant.APPID);
			// bizOrder.setMacId(orderId);
			// bizOrder.setTotalFee(String.valueOf(total_fee));
			// bizOrder.setOrgId(Long.parseLong(orgId));
			// BizOrder bo = bizOrderService.insertOrder(bizOrder);
			// if (bo == null)
			//	throw new NullPointerException("Don't save order!");

			// 生成支付二维码(数据流) 返回给前端页面
			QRCodeUtil.createQrCodeStream(codeUrl,900,"JPEG",response);
		}

	}
  • 支付业务
   /**
 * 微信支付业务
 * Created by Jason on 2018/11/20.
 */
public class WXPayService {
   
    private static Logger logger = LoggerFactory.getLogger
  • 5
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
PHP微信支付Native支付是指在PHP开发环境中使用微信支付的一种支付方式。具体而言,Native支付是将微信支付的功能集成到PHP程序中,使得用户在网页上能够通过微信扫码支付的方式完成支付流程。 要实现PHP微信支付Native支付,在开发环境中需要先进行以下几个步骤: 1. 注册微信支付商户账号:通过微信支付官方网站注册并获取商户号以及相关的API密钥。 2. 配置服务器环境:搭建PHP开发环境,并确保服务器支持HTTPS协议,因为微信支付要求使用HTTPS进行数据传输。 3. 引入微信支付SDK:下载并引入微信支付的PHP SDK,该SDK提供了调用微信支付接口的相关函数库。 4. 编写支付代码:根据具体需求,编写PHP代码调用微信支付接口,包括生成支付二维码、处理支付结果等。 5. 测试支付流程:在开发环境中进行支付流程的测试,包括生成支付二维码供用户扫码、接收微信支付异步通知等。 需要注意的是,使用微信支付Native支付时,要确保生成的支付二维码能够正常显示,并能够通过微信扫码完成支付。另外,在接收微信支付异步通知时,要对收到的订单信息进行验证,确保支付结果的准确性。 总结来说,PHP微信支付Native支付是在PHP开发环境中实现微信支付功能的一种方式,通过生成支付二维码让用户扫码完成支付流程。要实现该功能,需要注册商户账号、配置服务器环境、引入微信支付SDK并编写相应的支付代码。最后,在开发环境中进行测试,确保支付流程的稳定性和安全性。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值