PHP 버전의 SDK를 사용하면 제대로 처리되지 않았습니다. 테스트 파일 test/TestImage.php를 발견하고 변경하기 시작했는데 상태 코드가 $request -> 은 항상 0이었습니다. 디버깅 후 getContents 함수의 컬 오류인 것을 발견했습니다! 출력 컬_errno($ch),SSL 인증서 문제: 로컬 발급자 인증서를 얻을 수 없습니다. 사용해결책은 인증서 문제입니다.
오류 코드 잘못된 방법 오류 원인: 존재하지 않는 메서드 이름 이 해결되지 않았습니다. $request가 AlipayCommerceCityfacilitatorVoucherGenerateRequest일 수 있습니다. 문서의 클래스 인스턴스 또는 테스트 파일의 $alipayClient -> getContents() 반환 값(AlipayMobilePublicMultiMediaExecute 인스턴스) 및 경고: openssl_sign(): 제공됨 키 매개변수를 개인 키로 강제할 수 없습니다... API를 다시 살펴보니 페이지의 API 아래에 샘플 코드가 있는 것을 발견했습니다. 요호호호 .
구성 후 오류가 발생했습니다{"code":"40006","msg":"권한 부족","sub_code":"isv.insufficient-isv-permissions","sub_msg" : "ISV 권한 부족"}
샌드박스 계정을 변경하고 또 다른 오류를 상기시켰습니다{"code":"40004","msg":"Business Failed","sub_code":"unknown- sub- code","sub_msg":"알 수 없는 오류 코드"}, 서명 확인 함수 checkResponseSign()에 오류가 있습니다.
object(SignData)[5] public 'signSourceData' => string '{"code":"40004","msg":"Business Failed","sub_code":"unknown-sub-code","sub_msg":"未知的错误码"}' (length=101) public 'sign' => string 'EfXcLt1HDYQFHnfJRy31/S9+AeCd7J4jw/Zrphi2ImHgCIBGIbyZ8+Ch2yoiGeKN/tqdTPSEOosEI9QF1Nx53fHKHZG1SkrodwVzSSdkVPM9pxCszCn4u0ktTi925BazTFfNoq****JTHflEJ91GOhX19sbFYSnvD6RWus4YeFo=' (length=172)
컬링 함수 추적, url=https://openapi.alipaydev.com/gateway.do?app_id=2016091000478468&version=1.0&format=json&sign_type=RSA&method=alipay.commerce.cityfacilitator.station.query×tamp=2016-10-27+08%3A31%3A05&auth_token=&alipay_sdk=alipay-sdk-php-20160411&terminal_type=&terminal_info=&prod_code=¬ify_url=&charset=UTF-8&app_auth_token=&sign=T2xEACiz6ET%2FHs5DWdB Z qrQQlB8nB8iw4%2F4VlEtqG6qVePjEop9IgLpgLt%2BOtDCJgbWYA%2FilzyHXBRs9D1JYfT1wUHzYoXXATcXNm0rssfFLB* * ******xdLHMn4DCF%2B4QQLLeZrBVV2nj7Kxo1Zz1zv5ElS%2FLialsFA%3D
위의 [×tamp=]에 대한 강조는 매우 혼란스럽습니다. 이전 쿼리가 종료되어야 하고 ×tamp=로 변경하면 적어도 그 안에 있어야 합니다. 대신 다음 오류가 반환됩니다. 오류 코드 잘못된 방법 오류 이유: 메서드 이름이 존재하지 않습니다. URL을 구성하는 중 오류가 있는 부분을 확인하세요.
array (size=15) 'app_id' => string '2016091000478468' (length=16) 'version' => string '1.0' (length=3) 'format' => string 'json' (length=4) 'sign_type' => string 'RSA' (length=3) 'method' => string 'alipay.commerce.cityfacilitator.station.query' (length=45) 'timestamp' => string '2016-10-27 08:48:32' (length=19) 'auth_token' => null 'alipay_sdk' => string 'alipay-sdk-php-20160411' (length=23) 'terminal_type' => null 'terminal_info' => null 'prod_code' => null 'notify_url' => null 'charset' => string 'UTF-8' (length=5) 'app_auth_token' => null 'sign' => string 'f6ufUiSHCb7LNaXJvTdPEdDzfxKgepILJiKaM3wqueGojpOTZrVFRhVFqAQAxCEze9bVX77fpS/bvT8IVoD+/DMikZrje8SqkrSQvIHG8r1VhucgWplpgJU7HzViE*****************/MoG5OqfPf+H+rU+Eui7+bfYXtTDY=' (length=172)
×의 html 이스케이프 문자는 ×이므로 echo "×tamp=";이 출력됩니다. ×tamp이런 나방이군요.
<span style="font-size: 15px">foreach ($sysParams as $sysParamKey => $sysParamValue) { $requestUrl .= "$sysParamKey=" . urlencode($this->characet($sysParamValue, $this->postCharset)) . "&<span style="color: #ff00ff">amp;</span>"; }</span>
&가 &so 흥분으로 변경되었습니다.
그러나 페이지에는 아무 것도 없고, 오류도 없고, 공백이 있고, 비어 있습니다. 계속해서 조정하세요
https://support.open.alipay.com/support/myQuestionDetail.htm?id=266419 질문을 했는데 답변할 단서가 없습니다.
10월 28일
어제 발생한 매개변수 문제에 대해 타임스탬프를 앞으로 가져왔는데 시간 매개변수가 여전히 6시간 뒤처져 있는 것을 발견하여 언급하지 않고 그냥 time()+6*3600을 사용했습니다. 그러면 [서명이 유효하지 않습니다]. 도와주세요~