문제

CURL을 사용하여 페이팔에 요청을 게시하고 있습니다.

다음 코드를 확인하십시오

$url = 'https://api-3t.sandbox.paypal.com/nvp';
$request = array();

$request['USER'] = 'username' ;
   ---  sending other request fields like above --- 

$rd = '';

foreach ($request as $_key => $_val) 
 {
   $rd .= $_key . '=' . urlencode(mb_convert_encoding($_val, 'ISO-8859-1', 'UTF-8')) . '&';
}

$output = array();

$curlSession = curl_init();

curl_setopt($curlSession, CURLOPT_URL, $url);
curl_setopt($curlSession, CURLOPT_HEADER, 0);
curl_setopt($curlSession, CURLOPT_POST, 1);
curl_setopt($curlSession, CURLOPT_POSTFIELDS, $rd);
curl_setopt($curlSession, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curlSession, CURLOPT_TIMEOUT, 90);
curl_setopt($curlSession, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curlSession, CURLOPT_SSL_VERIFYHOST, 1);

$rawresponse = curl_exec($curlSession);
.

이제 컬 실행이 수행되면 Reposne 아래를 받고 있습니다.

Timestamp= 2015 % 2D07 % 2D23T10 % 3A39 % 3A36Z 및 CorrelationID= 61F4332AAF13E & ACK= 성공 및 버전= 90 & ACK= 17485293

내 문제는이를 읽을 수있는 배열 형식으로 변환하는 방법입니다. 제발 도와주세요

도움이 되었습니까?

해결책

변수 $response가 PayPal에서 얻은 것을 포함하는 것으로 가정 해 봅시다.

$decoded = urldecode($response);
.

가 당신을 얻을 것입니다

TIMESTAMP=2015-07-23T10:39:36Z&CORRELATIONID=61f4332aaf13e&ACK=Success&VERSION=90&BUILD=17485293
.

추가 호출

$split = explode('&', $decoded);
.

가 당신을 얻을 것입니다

Array
(
    [0] => TIMESTAMP=2015-07-23T10:39:36Z
    [1] => CORRELATIONID=61f4332aaf13e
    [2] => ACK=Success
    [3] => VERSION=90
    [4] => BUILD=17485293
)
.

=의 각 요소를 더 분할하고 키 값 쌍을 가져올 수도 있습니다.

[편집]

또는 더 나은 아직

$arr = array();
parse_str(urldecode($response), $arr);
echo "<pre>"; print_r($arr);
.

가 당신을 얻을 것입니다

Array
(
    [TIMESTAMP] => 2015-07-23T10:39:36Z
    [CORRELATIONID] => 61f4332aaf13e
    [ACK] => Success
    [VERSION] => 90
    [BUILD] => 17485293
)
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 magento.stackexchange
scroll top