# WechatPay ## 介绍 微信支付是一种基于微信生态的移动支付解决方案,支持线上线下支付,包括扫码支付、公众号支付、小程序支付等。小程序支付特别适合在微信小程序中使用,用户可在微信内快速完成支付,无需跳转应用或页面。 它具备以下优势: - 用户体验流畅(无需离开微信) - 与微信账号绑定(使用 OpenID 唯一标识用户) - 安全可靠,交易受微信平台保障 我们提供以下 WeChat Pay 支付类型: - 收款码 - 小程序 要使用小程序,您必须注册 微信支付 , 注册并验证实体后,您可以在 WeChat Open Platform 上查看您的 `appid`。如果您注册了多种 WeChat 支付方式,则每种支付方式都会为您提供一个唯一的 `appid`。 ## 收款码支付 通过向您的客户出示二维码来接受微信支付,他们可以使用微信移动应用程序扫描该二维码 ,客户完成付款或付款失败后,他们将被重定向到付款结果页面。 商户可用付款码数据可通过商户平台查看 **HOME**-> **支付产品** -> **收款码** Description of image ## 小程序支付 小程序 是从 WeChat 应用程序中创建的程序,通常用于将用户从线下店面引导至在线商店。 当客户打开你的小程序并下单时,他们会被重定向到微信控件,输入他们的支付密码以完成支付。支付完成后,它们将返回到你的小程序中。 **AppID 设置** 再发起付款之前你需要到我们的商户后台配置您的 `appid`. **HOME** -> **设置** -> **微信小程序AppID** Description of image **申请付款** 在使用 `API Only` 请求付款之前, 请使用您的小程序请求 `open_id`。 然后再通过 `API Only` 接口下单获取微信的预订单信息,要获取所有必填字段和可选字段的详细视图,请参阅我们的 [Initiate Transaction](/zh-hans/payments/apis/payments/openapi/交易/payments-opl_1)。 最后基于 `API Only` 的响应,使用 小程序SDK拉起微信支付。 请求示例: ```json { "merchant_id": "18011335787352", "payment_type": "PURCHASE", "trans_id": "m18890871823653", "timestamp": 1766091068060, "currency": "EUR", "amount": "584", "payment": { "payment_method": "WechatPayGlobal" }, "browser": { "terminal_type": "MINI_APP" }, "customer": { "wechat_info": { "open_id": "wx8888888888888888" } } } ``` 其中 `payment.payment_method` `browser.terminal_type` `customer.wechat_info.open_id` 必填,且`browser.terminal_type = MINI_APP` 响应示例: ```json { "ret_code": "000000", "ret_msg": "Success", "data": { "error_code": "0000", "error_description": "request success", "merchant_id": "18011335787352", "trans_id": "m15275581721685", "order_id": "GW206606372089232921", "status": "PROCESSING", "amount": 584, "payment": { "payment_method": "WECHAT_PAY_GLOBAL", "payment_data": { "appId": "wx433aa557e510", "timeStamp": "1749093859", "nonceStr": "sABWABDvEVNXY0FYKOIiVeFO270ITF0V", "package": "prepay_id=wx0511241963627881976f70cbe2f9120001", "signType": "RSA", "paySign": "axnJGT61icPDlFpcU3I7XBng0nZCDX91Hliq8s7RNE6swEWJ48d7oit7S7NdkOOHnGNTRNNqXmKmwC7olpgtkasFtRFeIJQwAB/JztIczusIRO7Qx6fBieh/cZ6Cmzbid+RxIaixExd5PoZiQR+7iQAD5n5oZ0yBebOYF/zdVMpBNfrBlMo5U4Y9htbQ6mOGJwUZ8pgI5/+oqueUsOOjrqp5so4SDc8G8nB/gcmbWVLTK8TutmAqGrBfjUXWN/04di7SfI1VUvgtYisLiF7udESfctS3J2hwwfbHfEYGjShSkJYRdInQiKddT5awnTkMfuij4G7x/UJ5d0o/WQ/8bQ==" } } } } ``` 其中 `data.payment.payment_data` 可用于在小程序拉起支付时使用。 注意,在sandbox环境里,所有微信支付的交易,都会产生真实扣款,请谨慎支付。