2012-03-22 3 views
0

저는 개발자이며 내 앱 "mindmatcher"에 FB 크레딧을 구현하려고합니다. 나는 이름이 "mindmatcher"로 응용 프로그램을 만든 다음 여기에 주어진 샘플에 따라 두 개의 스크립트 작성 :Facebook 크레딧 구현이 작동하지 않습니다.

http://developers.facebook.com/blog/post/489/

당신은 여기를 클릭하여 내가 만든 페이지에 액세스 할 수 있습니다

http://apps.facebook.com/mindmatcher/testBeforeCallback.php

을 앱 설정에서 콜백 URL을 설정했습니다.

또한이 callback.php는 위의 URL에 제공된 샘플에 따라 생성됩니다. 내가 지불 이제 FB 버튼을 클릭하면, 그것은 항상이 URL을 클릭하면 볼 수있는 오류를 보여줍니다

"문제

죄송합니다 귀하의 지불 처리가 발생했습니다 ,하지만 우리는 데있어 이 거래에 대해 비용이 청구되지 않았습니다. 다시 시도하십시오. "

빠른 시일 내에 앱을 게시해야하므로이 문제를 최대한 빨리 해결할 수 있도록 도움이 필요합니다.

미리 감사드립니다.

답변

1

다음과 같은 기능이 누락되었습니다.

function parse_signed_request($signed_request, $secret) { 
    list($encoded_sig, $payload) = explode('.', $signed_request, 2); 

    // decode the data 
    $sig = base64_url_decode($encoded_sig); 
    $data = json_decode(base64_url_decode($payload), true); 

    if (strtoupper($data['algorithm']) !== 'HMAC-SHA256') { 
    error_log('Unknown algorithm. Expected HMAC-SHA256'); 
    return null; 
    } 

    // check sig 
    $expected_sig = hash_hmac('sha256', $payload, $secret, $raw = true); 
    if ($sig !== $expected_sig) { 
    error_log('Bad Signed JSON signature!'); 
    return null; 
    } 

    return $data; 
} 


function base64_url_decode($input) { 
    return base64_decode(strtr($input, '-_', '+/')); 
} 

이 기능을 올바르게 호출해야합니다.

관련 문제