Maison > Applet WeChat > Développement WeChat > Développement de paiement WeChatPaiement API JS

Développement de paiement WeChatPaiement API JS

高洛峰
Libérer: 2017-02-25 17:38:50
original
2049 Les gens l'ont consulté

1. Interface de paiement de l'API JS (getBrandWCPayRequest)

L'API WeChat JS ne peut être utilisée que dans le navigateur intégré de WeChat et les appels provenant d'autres navigateurs ne sont pas valides. WeChat fournit l'interface getBrandWCPayRequest pour que la page Web frontale du commerçant puisse appeler. Avant d'appeler, WeChat identifiera l'autorité de paiement du commerçant. Si le commerçant a le pouvoir d'initier le paiement, le processus de paiement commencera. Cette section présente principalement les règles d'appel de l'interface avant le paiement. Veuillez vous référer au mécanisme de notification des messages d'état du paiement ci-dessous. L'interface est à noter : tous les paramètres entrants sont de type chaîne !

Les paramètres getBrandWCPayRequest sont présentés dans le tableau 6-5.


参数

名称

必填

格式

说明

appId

公众号id

字符串类型

商户注册具有支付权限的公众号成功后即可获得;

timeStamp

时间戳

字符串类型,32个字节以下

商户生成,从1970年1月1日00:00:00至今的秒数,即当前的时间,且最终需要转换为字符串形式;

nonceStr

随机字符串

字符串类型,32个字节以下

商户生成的随机字符串;

package

订单详情扩展字符串

字符串类型,4096个字节以下

商户将订单信息组成该字符串,具体组成方案参见接口使用说明中package组包帮劣;由商户按照规范拼接后传入;

signType

签名方式

字符串类型,参数取值"SHA1"

按照文档中所示填入,目前仅支持SHA1;

paySign

签名

字符串类型

商户将接口列表中的参数按照指定方式迚行签名,签名方式使用signType中标示的签名方式,具体签名方案参见接口使用说明中签名帮劣;由商户按照规范签名后传入;

Paramètres


Nom

Obligatoire

Format

Description

appId

Identifiant de compte officiel

返回值

说明

err_msg

get_brand_wcpay_request:ok  支付成功
 get_brand_wcpay_request:cancel 支付过程中用户取消
 get_brand_wcpay_request:fail 支付失败

est

Type de chaîne td>

Le commerçant peut l'obtenir après avoir enregistré avec succès un compte public avec autorisation de paiement ;

timeStamp

Horodatage

est

Type de chaîne, moins de 32 octets

Commerçant Générer le nombre de secondes de 00:00:00 du 1er janvier 1970 à aujourd'hui, qui est l'heure actuelle, et doivent finalement être converties en forme de chaîne

nonceStr

Chaîne aléatoire

Oui

Type de chaîne, moins de 32 octets

Chaîne aléatoire générée par le marchand ;

package

Chaîne étendue des détails de la commande

Oui td>

Type de chaîne, moins de 4096 octets

Le commerçant compose les informations de commande dans cette chaîne. Pour le schéma de composition spécifique, veuillez vous référer à l'aide au regroupement de packages dans les instructions de l'interface ; le commerçant les assemblera selon les spécifications, puis les transmettra ;

signType

Méthode de signature

Oui

Type de chaîne, valeur du paramètre "SHA1"

Remplissez comme indiqué dans le document, actuellement seul SHA1 est pris en charge ;

paySign

Signature

est

type de chaîne td>

Le commerçant signe les paramètres dans la liste d'interface selon la méthode spécifiée. La méthode de signature utilise la méthode de signature marquée dans. signType. Le schéma de signature spécifique Voir l'aide à la signature dans les instructions de l'interface ; le commerçant le signe conformément au cahier des charges

tableau 6-5 Paramètres getBrandWCPayRequest La valeur de retour de getBrandWCPayRequest est indiquée dans le tableau 6-6.

err_msg

Valeur de retour Description

get_brand_wcpay_request :ok Paiement réussi get_brand_wcpay_request:cancel L'utilisateur a annulé pendant le processus de paiement get_brand_wcpay_request:fail Échec du paiement


Tableau 6-6 valeur de retour getBrandWCPayRequest

Le résultat du retour de l'API JS get_brand_wcpay_request:ok n'est renvoyé que lorsque l'utilisateur termine avec succès le paiement. En raison de la complexité de l'interaction frontale, get_brand_wcpay_request:cancel ou get_brand_wcpay_request:fail peut être traité de manière uniforme lorsque l'utilisateur rencontre une erreur ou abandonne volontairement, sans faire de distinction détaillée.

2. Implémentation du paiement par API JS

Le code suivant est la démo de paiement par API JS officiellement fournie par WeChat

<?php
include_once("WxPayHelper.php");


$commonUtil = new CommonUtil();
$wxPayHelper = new WxPayHelper();


$wxPayHelper->setParameter("bank_type", "WX");
$wxPayHelper->setParameter("body", "test");
$wxPayHelper->setParameter("partner", "1900000109");
$wxPayHelper->setParameter("out_trade_no", $commonUtil->create_noncestr());
$wxPayHelper->setParameter("total_fee", "1");
$wxPayHelper->setParameter("fee_type", "1");
$wxPayHelper->setParameter("notify_url", "htttp://www.baidu.com");
$wxPayHelper->setParameter("spbill_create_ip", "127.0.0.1");
$wxPayHelper->setParameter("input_charset", "GBK");


?>
<html>
<script language="javascript">
function callpay()
{
    WeixinJSBridge.invoke(&#39;getBrandWCPayRequest&#39;,<?php echo $wxPayHelper->create_biz_package(); ?>,function(res){
    WeixinJSBridge.log(res.err_msg);
    alert(res.err_code+res.err_desc+res.err_msg);
    });
}
</script>
<body>
<button type="button" onclick="callpay()">wx pay test</button>
</body>
</html>
Copier après la connexion

Mettez le paiement WeChat Paramètres qu'il contient Modifiez-le en fonction de ce que vous avez demandé, puis téléchargez la page Web dans le répertoire de paiement WeChat et répondez l'adresse de la page Web au compte test. Les utilisateurs peuvent implémenter un paiement API JS.

3. Démonstration de l'effet

Ce qui suit est l'image de la page de la modification officielle de la DÉMO pour lancer le paiement.

微信支付开发 JS API支付

Confirmer la transaction

微信支付开发 JS API支付

Entrer le mot de passe de paiement

微信支付开发 JS API支付

Transaction réussie

微信支付开发 JS API支付

Pour plus d'articles liés au développement du paiement WeChat, paiement par API JS, veuillez faire attention au site Web chinois PHP !

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal