Paypal 보관함을 사용하여 Paypal 보관소 신용 카드로 결제하려고하는데, 알아낼 수 없습니다. 오류를 해결할 방법이없는 것처럼 보입니다. 그것도 작동하거나 작동하지 않습니다, 나는 그것을 작동 경험하지 않았습니다.Paypal 보관소 신용 카드 청구 실패 문제를 해결하는 방법
카드 목록을 가져올 수 있지만 특정 카드를 가져올 수는 있지만 그 카드 중 하나를 지불 할 수는 없습니다.
저는 PHP Paypal SDK를 사용하고 있습니다. Paypal이 내 요청으로 보는 것은 다음과 같습니다.
{
"body": {
"intent": "sale",
"payer": {
"payment_method": "credit_card",
"funding_instruments": [
{
"credit_card_token": {
"credit_card_id": "CARD-6XP216179L970340WK6BNY5A",
"payer_id": "1"
}
}
]
},
"transactions": [
{
"amount": {
"currency": "USD",
"total": "26.01"
}
}
]
},
"header": {
"x-pp-silover": "name\\u003dSANDBOX3.API.1\\u0026silo_version\\u003d1880\\u0026app\\u003dplatformapiserv\\u0026TIME\\u003d1702332759\\u0026HTTP_X_PP_AZ_LOCATOR\\u003d",
"content-length": "233",
"paypal-request-id": "323223593916288146862657311204",
"x-slr-retry": "SLR-RETRY-EMPTY",
"accept": "*/*",
"client-auth": "No cert",
"host": "api.sandbox.paypal.com",
"user-agent": "PayPalSDK/PayPal-PHP-SDK 1.7.3 (platform-ver\\u003d5.6.23-2+deb.sury.org~xenial+1; bit\\u003d64; os\\u003dLinux_4.4.0-21-generic; machine\\u003dx86_64; crypto-lib-ver\\u003d1.0.2h; curl\\u003d7.47.0)",
"x-slr-nobounce": "true",
"x-slr-orig-script_uri": "https://api.sandbox.paypal.com/v1/payments/payment",
"x-pp-corrid": "793fa20aaec8b",
"pp_remote_addr": "99.99.99.1",
"content-type": "application/json",
"authorization": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxl4S0"
},
"additional_properties": {},
"method": "POST"
}
내가 현재 할당 한 것보다 IP가 수정되었습니다. 그것을 게시하는 것이 보안 문제인지는 모르겠지만 비밀이 아닙니다.
내가 사용하고있는 코드는 다음과 같습니다.
$apiContext = new \PayPal\Rest\ApiContext(
new \PayPal\Auth\OAuthTokenCredential(
$clientId,
$secret
)
);
$cardToken = new CreditCardToken();
$cardToken->setCreditCardId($paymentMethod->getProcessorId());
$cardToken->setPayerId("1");
$fi = new FundingInstrument();
$fi->setCreditCardToken($cardToken);
$payer = new Payer();
$payer->setPaymentMethod("credit_card")
->setFundingInstruments(array($fi));
$amount = new Amount();
$amount->setCurrency("USD")
->setTotal("26.01");
$transaction = new Transaction();
$transaction->setAmount($amount);
$payment = new Payment();
$payment->setIntent("sale")
->setPayer($payer)
->setTransactions(array($transaction));
print_r($payment);
$payment->create($apiContext);
if ($payment->getState() == 'approved') {
return TRUE;
}
return FALSE;
} catch (Exception $ex) {
print_r($ex);
}
$ paymentMethod-> getProcessorId을() 나는 페이팔의 샌드 박스에서 검색 할 수있는 유효한 신용 카드 볼트 ID가있다.
다음은 Paypal의 답변입니다.
{
"status": 500,
"duration_time": 135,
"body": {
"message": "An internal service error occurred.",
"information_link": "https://developer.paypal.com/webapps/developer/docs/api/#INTERNAL_SERVICE_ERROR",
"name": "INTERNAL_SERVICE_ERROR",
"debug_id": "793fa20aaec8b"
},
"additional_properties": {},
"header": {
"Content-Length": "209",
"Content-Language": "*",
"X-SLR-RETRY": "500",
"CORRELATION-ID": "793fa20aaec8b",
"Date": "Fri, 15 Jul 2016 23:53:39 GMT",
"Connection": "close",
"Paypal-Debug-Id": "793fa20aaec8b",
"PROXY_SERVER_INFO": "host\\u003dslcsbplatformapiserv3001.slc.paypal.com;threadId\\u003d569",
"Content-Type": "application/json"
}
}
내가 알고있는 것처럼, 내부 오류는 단지 뭔가 잘못 됐음을 의미하지만 올바르지 않은 것을 말하지는 않습니다. 함께 일하는 것은 짜증나. 문제 해결에 도움이되는 것은 아무것도주지 못한다. Paypal SB 대시 보드를 통해 조사 할 것도 없다.
나는 그것을했다. 그리고 그들은 나에게 돌아갔다. 이 카드 번호를 사용하여 테스트해야했습니다. VISA : 4716 3248 7603 0777 마스터 카드 : 5453 9874 8085 6045 – Halfstop
PayPal 샌드 박스에서 과도하게 사용되어 이상한 행동을 유발하는 신용 카드가 거의 없습니다. 청구서 수신 주소가 50 만 개가 넘는 신용 카드를 생각해보십시오. 이러한 문제는 실시간으로 잘 다루어 지지만 샌드 박스에서는 이러한 문제가 발생합니다. 가장 좋은 방법은 고유 한 신용 카드를 사용하는 것입니다. https://www.paypal-knowledge.com/infocenter/index?page=content&widgetview=true&id=FAQ1413&viewlocale=en_US&direct=en의 4 단계를 사용하여 만들거나 http://www.getcreditcardnumbers.com/을 만들 수 있습니다. 거대한 벌크. –