위챗 결제의 흔한 질문, invalide code

2623 단어 위챗
그동안 위챗 결제 개발을 했는데 회사의 공식 계정이 승인된 후에 제 측의 테스트 용례도 개발되었습니다. 그래서 구체적인 데이터를 가지고 디버깅을 했습니다. 대량의 코드는 붙이지 않았습니다. 데모에 있습니다. 여기서 디버깅 과정에서 발생한 구덩이를 말씀드리겠습니다.
첫 번째 구덩이:redirecturl 매개 변수 오류입니다.내가 선택한'JS API'결제 때문에 이런 결제는 웹 페이지의 권한 수여가 필요합니다. 먼저 코드를 받은 다음에 코드를 가지고 Openid와prepayid.이 페이지의 권한 수여는 위챗 공중 플랫폼에 로그인하고 왼쪽 메뉴'개발자 센터'를 클릭하면 오른쪽'권한 목록'에서'홈페이지 계정'을 찾을 수 있습니다. 가장 오른쪽의 수정을 클릭하여 테스트한 사이트를 작성하고 http를 넣지 않도록 주의하세요.메운 후에 이 구덩이는 바로 지나갔다.
두 번째 구덩이: invalide code.첫 번째 구덩이를 지나면 코드로 돌아가서 이 코드를 가지고 오픈 id를 가져옵니다. 그러나 이 단계에 도착할 때마다 위챗에서 {"errcode":40029,"errmsg":"invalid 코드"}를 되돌려줍니다. 이 구덩이는 오후 내내 끊겼습니다.일요일에 나는 개발 문서를 자세히 보았지만 요령이 없어서 마지막으로 프로그램에서 매번 리셋되는 매개 변수를 자세히 검사했다.이 검사에서 요령을 발견했다. 먼저 리셋 주소를 가장 간단하게 썼고 어떤 파라미터도 가지고 있지 않아 성공했다.토큰이라는 인자를 가져올 때까지 매개 변수를 하나씩 가져가면 invalid 코드가 되돌아옵니다.하, 아마도 이 파라미터가 위챗 쪽과 충돌한 것 같아. 그래서 이 파라미터를 다른 것으로 바꿨어. 이 구덩이는 금방 지나갔어. 다음에 지불하면 바로 디버깅에 성공할 거야.
세 번째 구덩이: 시스템이 바빠서 업그레이드 중입니다. 잠시 후에 다시 시도하세요.주말 디버깅에 성공한 후 테스트 코드를 프로젝트에 통합하여 지불을 시작합니다.그러나 결제 인터페이스에 도착했을 때 이 문제가 발생했다. 아무리 찾아도 문제를 발견할 수 없고 주말 테스트 링크를 클릭하면 좋다.오후에는 상하류에서 전달되는 매개 변수를 자세히 살펴보니 문제점이 발견됐다.매번 상류에서 전달되는 지불금액 토탈fee는 모두'1.00'이라는 유형이다. 위챗 결제의 기본 단위가 점수이기 때문에 수동으로 1.00을 1로 하여 성공했다.위챗 결제 쪽인가 봐요 토탈fee는 소수점을 받아들일 수 없어서 상류의 동료와 조율을 했습니다. 전달된 금액에 소수점이 없어서 이 구덩이도 지나갔습니다.
[업데이트 2015-01-26]
오늘 테스트에서 아이폰4에서 지불이 성공하지 못한 것을 발견하여 테스트기 디버깅에 들어갔는데 문제가 첫 번째 구덩이에서 발생한 것을 발견했다. 바디 파라미터를 제거하면 ok이다. 보아하니 위챗으로 지불할 때 파라미터를 적게 가져가는 것이 가장 좋다. 
[업데이트 2015-01-30]
오후 QA는 위챗 결제가 또 실패했다며 "통합 결제 인터페이스에 필수 매개 변수인 openid가 부족합니다!trade type이 JSAPI일 경우 openid는 필수 매개 변수입니다!"라고 안내했다.나는 테스트기에 들어가서 디버깅을 했는데 서버에서curl이 위챗 플랫폼에 되돌려 달라고 요청한 것이 모두NULL인 것을 발견했다. 알림이 소용이 없었다. 이어서curl의 오류 정보를 출력했다. 출력은 77이고curl 오류 코드에 가서 조회했다. 알림은 SSL 인증서의 문제였다. 그래서 나는 서버에 인증서를 다시 설치하고 php-fpm를 다시 시작하면 지불할 수 있었다.
sudo yum install ca-certificates
service php-fpm restart

        
[업데이트 2015-02-27]
오늘 결제는 상점 관련 논리에 접속했다. 다 쓴 후에 나는 예전의 회원카드 결제를 테스트했는데 결제 단계에서 알림이 실패한 것을 발견했다. 그래서 테스트 문구를 붙여서'getBrandWCPay Request:fail no permission to execute'(주:iphone5s 핸드폰)를 제시했다. 나중에 샤오미를 찾았는데 결제 알림'시스템:access denied'에 들어가 문서에 들어가 보니 권한 수여 목록 오류였다.고쳐서 돌아왔으면 좋겠다. QA가 연전에 고쳐서 고생한 것 같다.
[업데이트 2015-03-30]
오전에 QA가 선도에서 위챗 결제에 대한 버그를 다시 꺼낸 것을 보았는데'패키지의 매개 변수 파트너나 prepay id가 비어있다'는 오류였다.그래서 저는 능숙하게 디버깅 모드에 들어갔습니다. 몇 번의 테스트를 통해 위챗 결제가 10만 위안을 넘으면 상술한 알림이 나타날 것입니다. 만약에 인터럽트 디버깅 문구를 치면 위챗이 {"errcode":"FAIL", "errmsg":"invalidtotal fee"}로 되돌아오는 것을 발견할 수 있습니다.위챗 결제 한도 상한선을 알면 백스테이지에서 최대 10만을 넘지 않도록 설정하면 된다.

좋은 웹페이지 즐겨찾기