WeChat 결제 개발 JS API 결제

高洛峰
풀어 주다: 2017-02-25 17:38:50
원래의
2020명이 탐색했습니다.

1. JS API 결제 인터페이스(getBrandWCPayRequest)

WeChat JS API는 WeChat 내장 브라우저에서만 사용할 수 있으며, 다른 브라우저에서의 호출은 유효하지 않습니다. WeChat은 판매자의 프런트엔드 웹페이지에서 호출할 수 있는 getBrandWCPayRequest 인터페이스를 제공합니다. WeChat은 판매자에게 전화를 걸기 전에 판매자의 결제 기관을 식별합니다. 판매자에게 결제 시작 권한이 있는 경우 결제 프로세스가 시작됩니다. 이 섹션에서는 주로 결제 전 인터페이스 호출 규칙을 소개합니다. 아래 결제 상태 메시지 알림 메커니즘을 참조하세요. 인터페이스에 주목해야 합니다. 들어오는 모든 매개변수는 문자열 유형입니다!

getBrandWCPayRequest 매개변수는 표 6-5에 나와 있습니다.


参数

名称

必填

格式

说明

appId

公众号id

字符串类型

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

timeStamp

时间戳

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

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

nonceStr

随机字符串

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

商户生成的随机字符串;

package

订单详情扩展字符串

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

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

signType

签名方式

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

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

paySign

签名

字符串类型

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

매개변수


이름

필수

형식

설명

appId

공식 계정 ID

返回值

说明

err_msg

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

다음과 같습니다

문자열 유형 td>

판매자는 결제 권한이 있는 공용 계정을 성공적으로 등록한 후 이를 얻을 수 있습니다.

timeStamp

타임스탬프

다음과 같습니다

문자열 유형, 32바이트 미만

가맹점 개수 생성 1970년 1월 1일 00:00:00부터 현재 시간까지의 초를 문자열 형식으로 변환해야 합니다.

nonceStr

임의의 문자열

문자열 유형, 32바이트 미만

판매자가 생성한 임의 문자열 ;

패키지

주문 세부정보 확장 문자열

예 td>

문자열 유형, 4096바이트 미만

판매자는 이 문자열에 주문 정보를 구성합니다. 구체적인 구성 방식은 인터페이스 지침의 패키지 그룹화 도움말을 참조하세요. 판매자는 사양에 따라 이를 연결한 다음 전달합니다. ;

signType

서명 방법

문자열 유형, 매개변수 값 "SHA1"

문서에 표시된 대로 입력하세요. 현재 SHA1만 지원됩니다.

paySign

서명

다음은

문자열 유형 td>

가맹점은 지정된 방법에 따라 인터페이스 목록의 매개변수에 서명합니다. 서명 방법은 표시된 서명 방법을 사용합니다. signType. 인터페이스 지침의 서명 도움말을 참조하세요. 판매자는 사양에 따라 서명합니다. 표 6-5 getBrandWCPayRequest 매개변수 getBrandWCPayRequest의 반환 값은 표 6-6과 같습니다.

err_msg

반환 값 설명

get_brand_wcpay_request :ok 결제 성공 get_brand_wcpay_request:cancel 결제 과정에서 사용자가 취소했습니다 get_brand_wcpay_request:fail 결제 실패


표 6-6 getBrandWCPayRequest 반환 값

JS API 반환 결과 get_brand_wcpay_request:ok는 사용자가 성공적으로 결제를 완료한 경우에만 반환됩니다. 프런트 엔드 상호 작용의 복잡성으로 인해 get_brand_wcpay_request:cancel 또는 get_brand_wcpay_request:fail은 세부적인 구분 없이 사용자가 오류가 발생하거나 자발적으로 포기하는 경우를 일률적으로 처리할 수 있습니다.

2. JS API 결제 구현

다음 코드는 WeChat에서 공식 제공하는 JS API 결제 데모

<?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>
로그인 후 복사

WeChat 결제 매개변수를 다음으로 수정합니다. 신청한 내용을 받은 후 웹페이지를 WeChat 결제 디렉터리에 업로드하고 웹페이지 주소를 테스트 계정에 회신하세요. 사용자는 JS API 결제를 구현할 수 있습니다.

3. 효과 시연

다음은 결제를 위한 공식 DEMO 수정 페이지 사진입니다.

微信支付开发 JS API支付

거래 확인

微信支付开发 JS API支付

결제 비밀번호 입력

微信支付开发 JS API支付

거래 성공

微信支付开发 JS API支付

WeChat 결제 개발 JS API 결제 관련 더 많은 글은 PHP 중국어 홈페이지를 주목해주세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿