1. 시뮬레이션 테스트 시스템
가맹점의 테스트 기준을 낮추기 위해 WeChat 결제팀은 독립적인 시뮬레이션 테스트 시스템을 개발했습니다. 시스템은 정상 기능 테스트, 보안/이상 테스트, 성능 테스트에 대한 가맹점의 요구 사항을 충족하기 위해 승인 유스 케이스의 양에 따라 다양한 응답 메시지를 반환합니다.
그림 1 WeChat 결제 시뮬레이션 테스트 시스템
그림 1은 WeChat 결제 시뮬레이션 테스트 시스템(이하 '시뮬레이션 시스템'이라 함)의 단순화된 개략도입니다. ). 시뮬레이션 시스템의 API 프로토콜은 공식 API와 완전히 동일합니다. 판매자 개발자는 시뮬레이션 시스템에 연결하기 위해 정식 API 호출 URL에 sandboxnew 경로만 추가하면 됩니다.
예를 들어 신용 카드 결제 URL: api.mch.weixin.qq.com/pay/micropay
는 다음으로 변경됩니다: api.mch.weixin.qq.com/sandboxnew/pay /소액결제.
시뮬레이션 시스템은 스토리지 계층을 포함한 생산 환경과 완전히 독립적입니다. 시뮬레이션 시스템에서 판매자가 수행한 모든 거래(주문, 결제, 쿼리 등)는 자금 흐름이 없는 가짜 데이터입니다. 즉, 사용자는 실제로 돈을 공제할 필요가 없으며 판매자는 자금을 적립받지 못합니다. 그들의 계정으로. 바우처에도 동일하게 적용됩니다. 샌드박스 환경에서는 가맹점이 실제로 바우처를 생성하고 발행할 필요가 없으며 실제 공제가 발생하지 않습니다. 승인 시뮬레이션 테스트 시스템을 위한 API 검증 키는 API에서 얻어야 합니다:
검증 키 API 얻기:
请求Url | api.mch.weixin.qq.com/sandboxnew/pay/getsignkey |
---|---|
是否需要证书 | 否 |
请求方式 | POST |
请求参数:
문자 이름 | 字段 | 必填 | 示例值 | 그림 | 정보 | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
商户号 | mch_id | 是 | 1305638280 | 문자열(32) | 微信支付分配的微信商户号 | ||||||||||||||||||||||||
随机字符串
|
nonce_str | 是 | 5K8264ILTKCH16CQ2502SI8ZNMTM67VS | 문자열(32) | 随机字符串,不长于32位 | ||||||||||||||||||||||||
설명 | 서명 | 是 | 5K8264ILTKCH16CQ2502SI8ZNMTM67VS | 문자열(32) | 명칭 |
반환 매개변수:
字段名 | 字段 | 必填 | 示例值 | 类型 | 说明 |
---|---|---|---|---|---|
返回状态码 | return_code | 是 | SUCCESS | String(16) | SUCCESS/FAIL 此字段是通信标识,非交易标识 |
返回信息 | return_msg | 否 | 签名失败 | String(128) | 返回信息,如非空,为错误原因 ,签名失败 ,参数格式校验错误 |
return_code가 SUCCESS인 경우 다음 필드가 반환됩니다.
字段名 | 字段 | 必填 | 示例值 | 类型 | 说明 |
---|---|---|---|---|---|
商户号 | mch_id | 是 | 1305638280 | String(32) | 微信支付分配的微信商户号 |
沙箱密钥 | sandbox_signkey | 否 | 013467007045764 | String(32) | 返回的沙箱密钥 |
가맹점이 시뮬레이션 시스템에 액세스하기 위한 상호 작용 프로세스의 예:
1. 판매자가 카드 결제 요청을 시작하고 POST 메서드를 사용하여 api.mch.weixin.qq.com/sandboxnew/pay/micropay 2.
sandboxnew를 사용한 https 요청은 nginx에 의해 시뮬레이션 시스템으로 라우팅됩니다. 시뮬레이션 시스템은 결제 금액(total_fee 필드)에 따라 판매자에게 예상되는 메시지를 반환합니다. 동시에 요청 데이터가 도착합니다. 3. 판매자는 api.mch.weixin.qq.com/
sandboxnew/pay/orderquery를 호출하여 WeChat 주문을 가져오는 주문 쿼리를 시작합니다. 번호(transaction_id) 또는 가맹점 내부 주문 번호(out_trade_no) 4. 주문 조회 요청을 받은 후 시뮬레이션 시스템은 주문 번호와 금액을 기준으로 예상 주문 조회 결과를 가맹점에 반환합니다.
5. 판매자가 명세서를 다운로드하고 api.mch .weixin.qq.com/
sandboxnew/pay/downloadbill을 호출하면 시뮬레이션 시스템이 고정 청구서 형식을 판매자에게 반환합니다. 참고: 청구서의 내용이 시뮬레이션 시스템에서 판매자가 생성한 거래와 반드시 정확히 일치할 필요는 없습니다.
인터페이스클래스를 사용하여 몇 줄의 코드로
//1.5 沙箱密钥$obj = array();$obj['mch_id'] = MCHID;$url = 'https://api.mch.weixin.qq.com/sandboxnew/pay/getsignkey';$wxHongBaoHelper = new WxPay();$data = $wxHongBaoHelper->wxpay($url, $obj, false);$res = $wxHongBaoHelper->xmlToArray($data);
array(3) { ["return_code"]=> string(7) "SUCCESS" ["return_msg"]=> string(2) "ok" ["sandbox_signkey"]=> string(32) "4d827419cb511d8f6ccc35d574ff1f7b"}
위 내용은 WeChat 결제 개발을 위한 샌드박스 주요 단계에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!