要約:最近のプロジェクトは、今必要としている人々と共有するために、櫛を要約するだけでなく、自分の将来を振り返る、いくつかの問題に遭遇もやっての過程で、マイクロチャネル支払いとアリペイを使用して決済サービスを、関与しましたアイデアを残します。
:マイクロチャネルの有料アクセスの準備作業:
まず、マイクロチャネルは唯一のエンタープライズ・ユーザーをサポートして支払う、個々のユーザーは、マイクロチャネルの有料にアクセスすることはできませんので、マイクロチャネルの支払いにアクセスするために、あなたの公共のマイクロチャネル番号を持つ最初の必要性、企業が適用することができます。マイクロチャネル公共番号を使用すると、コードを書き始める準備が整うまでので、あなたは、マイクロチャネルの有料関連のコンテンツを申請することができ、以下のパラメータが良い適用に置く必要があります:パブリックアカウントIDを、マイクロチャネルの有料加盟店数、APIキー、AppSecretはAPPIDに対応していますインターフェイスパスワード、コールバックアドレス(ネットワークの外部コールバックは、このアドレスへのアクセスが保証されなければならない)と要求コンピュータのIPを送信
2:マイクロチャンネル決済プロセスの説明:
これらのパラメータは、上記では、我々は、マイクロチャネルの有料にアクセスすることができ、ここで私は公式ドキュメントのマイクロチャネルの支払いを見て(https://pay.weixin.qq.com/wiki/doc/api/index。 HTML)、ここでは、このアドレスから選択する支払方法の多様性を見ることができる訪問し、我々はスキャンコードを支払うための方法を選択する(https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter= 6_1)
以下に示すようにここでは、モード2、以下の2つのタイミングチャートを見てパターンを選択します。
モデルIIと比較モードでは、プロセスは、それが支払われ、設定されたコールバックURLに依存しない、単純です。マイクロチャネルにバックオフィスシステムを商人を呼び出し、マイクロ文字楽屋リターンリンクシステム・パラメータは、code_url単一のインターフェイスの下で統一支払うバック商人オフィス・システムがcode_url値は、2次元コードの画像を生成しますが、ユーザーが支払いを開始するマイクロチャネルクライアントスキャンコードを使用します。注意:2時間code_urlは、有効期限スキャンコードが支払いを開始することはできません後。
ビジネスプロセスの説明:
(1)システムは、商品を購入するためのバックグラウンドラインの商人のユーザーを生成します。
(2)利用者は、【お支払いコールマイクロチャネルの有料確認するために、単一のAPIの下で統一を事前に支払い取引を生成します]。
(3)微信支付系统收到请求后生成预支付交易单,并返回交易会话的二维码链接code_url。
(4)商户后台系统根据返回的code_url生成二维码。
(5)用户打开微信“扫一扫”扫描二维码,微信客户端将扫码内容发送到微信支付系统。
(6)微信支付系统收到客户端请求,验证链接有效性后发起用户支付,要求用户授权。
(7)用户在微信客户端输入密码,确认支付后,微信客户端提交授权。
(8)微信支付系统根据用户授权完成支付交易。
(9)微信支付系统完成支付交易后给微信客户端返回交易结果,并将交易结果通过短信、微信消息提示用户。微信客户端展示支付交易结果页面。
(10)微信支付系统通过发送异步消息通知商户后台系统支付结果。商户后台系统需回复接收情况,通知微信后台系统不再发送该单的支付通知。
(11)未收到支付通知的情况,商户后台系统调用【查询订单API】。
(12)商户确认订单已支付后给用户发货。
三:微信支付所需要的maven依赖:
<!--生成二维码jar--> <dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.2.1</version> </dependency>
四:微信支付调用统一下单接口的核心代码
3.1:微信支付工具类:
HttpUtil.java
package com.micai.springboot.util.pay.wx; public class PayConfigUtil { //初始化 // public final static String APP_ID = "11111111111"; //公众账号appid(改为自己实际的) // public final static String APP_SECRET = ""; // public final static String MCH_ID = "111111"; //商户号(改为自己实际的) // public final static String API_KEY = "11111111111"; //(改为自己实际的)key设置路径:微信商户平台(pay.weixin.qq.com)-->账户设置-->API安全-->密钥设置 //统一下单 public final static String UFDODER_URL = "https://api.mch.weixin.qq.com/pay/unifiedorder"; // public final static String NOTIFY_URL = "http://xxxxxxx"; //微信支付回调接口,就是微信那边收到(改为自己实际的) // //企业向个人账号付款的URL // public final static String SEND_EED_PACK_URL = "https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers"; // // public final static String CREATE_IP = "113.69.246.11";//发起支付ip(改为自己实际的) }
package com.micai.springboot.util.pay.wx; import com.google.zxing.common.BitMatrix; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.io.OutputStream; /** * 二维码生产工具类 */ public class QRUtil { private static final int BLACK = 0xFF000000; private static final int WHITE = 0xFFFFFFFF; private QRUtil() {} public static BufferedImage toBufferedImage(BitMatrix matrix) { int width = matrix.getWidth(); int height = matrix.getHeight(); BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); for (int x = 0; x < width; x++) { for (int y = 0; y < height; y++) { image.setRGB(x, y, matrix.get(x, y) ? BLACK : WHITE); } } return image; } public static void writeToFile(BitMatrix matrix, String format, File file) throws IOException { BufferedImage image = toBufferedImage(matrix); if (!ImageIO.write(image, format, file)) { throw new IOException("Could not write an image of format " + format + " to " + file); } } public static void writeToStream(BitMatrix matrix, String format, OutputStream stream) throws IOException { BufferedImage image = toBufferedImage(matrix); if (!ImageIO.write(image, format, stream)) { throw new IOException("Could not write an image of format " + format); } } }
访问支付url返回微信二维码,如下图:
使用微信的扫一扫,扫码支付,如下图:
微信支付回调,如下图:
这里对于回调只是简单输出了日志,你可以根据自己的实际情况选择做相应的处理,一般都是对订单的支付状态做更新。
六:总结:
ので、上記の工程の後、私は、仕事はビジネスユーザーでなければなりません我々はすべて我々がマイクロチャネル給与にアクセスするために、上記のプロセスの要約を作るマイクロチャンネル有料のプロセスを理解すると信じて、個々のユーザーがその先頭にコードを書いて、サポートしていません。次の作業を実行するためにこれらを、優れたマイクロチャネルの有料関連の設定パラメータを適用するための責任関係者に行く前に、最も重要なことは、ここでは、マイクロチャネルの有料引き戻し、コールバック、本番環境でできる外部ネットワークへのアクセスを設定する必要がありますURL、ドメイン名はこれまでに、2人のドメイン名は、我々のテストの便宜のためにここにいることができ、同時に提出され、私たちは、内部ネットワーク侵入ツールnatappを使用する必要があり、このツールは、両方の無料チャンネルでも通行レーンを持って、料金所レーンは、また非常に安くなっています十分なだけテスト、自由に通過した場合、注意すべきもう一つは、コールバックのマイクロチャネル支払い、デフォルトのマイクロチャネルコールバックに数回は、これが繰り返されるコールバック質問は、ここでは、マイクロチャネルを防止するための方法を考え、とあなたを残していることです小さなパートナーに関心のある複数のコールバック、ビジネスに影響を与えないように、賃金を残すことができます 。715 224 124:これらはあなたが交換基、グループ番号を追加することができ、すべてのコンテンツのマイクロチャネルの有料(スキャンコードモード2を支払う)であり、小型のパートナーの完全なソースコードを持っていると思います。