고객이 PayPal API를 통해 결제 할 수있는 EC 사이트를 구축 중입니다. 자, Sandbox를 사용하여 어떻게 작동하는지 배우고 있습니다. 이 페이지를 참조하십시오 : https://developer.paypal.com/docs/integration/direct/billing-plans/PayPal REST API : 결제 계획을 활성화하려하지만 "HTTP/1.1 401 Unauthorized"가 표시되는 경우
PayPal 앱을 만든 후 액세스 토큰을받은 을 완료하고 API 호출을 완료했습니다. 그런 다음 액세스 토큰을 대체하기 만하면 페이지에서 샘플 명령을 복사하여 붙여 넣는 결제 계획을 세우는 데 성공했습니다.
이제 요금 청구 계획을 활성화하고 싶지만 성공하지 못했습니다.
사용 된 명령은 다음과 같이 페이지에서 다시 복사하여 붙여 넣습니다. 지시에 따라
curl -v -k -X PATCH https://api.sandbox.paypal.com/v1/payments/billing-plans/P-7DC96732KA7763723UOPKETA/ \
-H 'X-PAYPAL-OAUTH-CONTEXT: {"consumer":{"accountNumber":1181198218909172527,"merchantId":"5KW8F2FXKX5HA"},"merchant":{"accountNumber":1659371090107732880,"merchantId":"2J6QB8YJQSJRJ"},"apiCaller":{"clientId":"AdtlNBDhgmQWi2xk6edqJVKklPFyDWxtyKuXuyVT-OgdnnKpAVsbKHgvqHHP","appId":"APP-6DV794347V142302B","payerId":"2J6QB8YJQSJRJ","accountNumber":"1659371090107732880"},"scopes":["https://api.paypal.com/v1/payments/.*","https://uri.paypal.com/services/payments/futurepayments","openid"]}' \
-H 'Content-Type: application/json' \
-d '[{
"op": "replace",
"path": "/",
"value": {
"state": "ACTIVE"
}
}]'
첫째, 난 그냥 계획을 작성하기위한 이전 응답에 제공 광산과 계획 ID "P-7DC96732KA7763723UOPKETA"를 대체했다.
* Trying 173.0.82.78...
* Connected to api.sandbox.paypal.com (173.0.82.78) port 443 (#0)
* TLS 1.2 connection using TLS_RSA_WITH_AES_256_CBC_SHA256
* Server certificate: api.sandbox.paypal.com
* Server certificate: Symantec Class 3 Secure Server CA - G4
* Server certificate: VeriSign Class 3 Public Primary Certification Authority - G5
> PATCH /v1/payments/billing-plans/P-8AX21799EN516221GJMBOECA/ HTTP/1.1
> Host: api.sandbox.paypal.com
> User-Agent: curl/7.43.0
> Accept: */*
> X-PAYPAL-OAUTH-CONTEXT: {"consumer":{"accountNumber":1181198218909172527,"merchantId":"5KW8F2FXKX5HA"},"merchant":{"accountNumber":1659371090107732880,"merchantId":"2J6QB8YJQSJRJ"},"apiCaller":{"clientId":"AdtlNBDhgmQWi2xk6edqJVKklPFyDWxtyKuXuyVT-OgdnnKpAVsbKHgvqHHP","appId":"APP-6DV794347V142302B","payerId":"2J6QB8YJQSJRJ","accountNumber":"1659371090107732880"},"scopes":["ttps://api.paypal.com/v1/payments/.*","ttps://uri.paypal.com/services/payments/futurepayments","openid"]}
> Content-Type: application/json
> Content-Length: 78
>
* upload completely sent off: 78 out of 78 bytes
< HTTP/1.1 401 Unauthorized
< Date: Fri, 17 Feb 2017 12:18:47 GMT
< Server: Apache
< paypal-debug-id: c46e304b4bb46
< Paypal-Debug-Id: c46e304b4bb46
< Set-Cookie: X-PP-SILOVER=name%3DSANDBOX3.API.1%26silo_version%3D1880%26app%3Dplatformapiserv%26TIME%3D669689432%26HTTP_X_PP_AZ_LOCATOR%3D; Expires=Fri, 17 Feb 2017 12:48:47 GMT; domain=.paypal.com; path=/; Secure; HttpOnly
< Set-Cookie: X-PP-SILOVER=; Expires=Thu, 01 Jan 1970 00:00:01 GMT
< Content-Length: 0
< Connection: close
< Content-Type: text/plain; charset=ISO-8859-1
<
* Closing connection 0
그리고 클라이언트 ID와 같은 다른 매개 변수 대체를 시도했지만 운이 없습니다.
다른 매개 변수를 대체해야합니까? 아니면 내가 잘못 했나요?
올바른 액세스 토큰을 사용 했습니까? –
게시물을 보내 주셔서 감사합니다. 예, 제가 보관 한 기록에 따르면, 저는 사전 요구 사항 프로세스에서 얻은 올바른 액세스 토큰을 사용했습니다. 나는 그렇지 않으면 청구서 작성에 성공하지 못했을 것입니다. 덧붙여서, 청구 계획을 활성화하는 문제는 원래의 게시물에 표시된 것처럼 명령 줄에 입력해야하는 명령과 관련하여 액세스 코드가 필요하지 않습니다. 잘못하면 나를 바로 잡으십시오. 다시 한 번 감사드립니다! – wiaylise
이것은 해결되었습니다. 내 대답을 참조하십시오. 액세스 토큰에 대해 옳습니다. 내가 사용한 성공적인 명령에는 액세스 토큰이 포함됩니다. 도와 주셔서 대단히 감사합니다 !! – wiaylise