Facebook Credit Implementation无效

时间:2012-03-22 08:12:00

标签: facebook-credits

我是开发人员并尝试在我的应用程序“mindmatcher”中实现FB信用。我创建了一个名为“mindmatcher”的应用程序,然后根据此处给出的示例创建了两个脚本:

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

您可以点击此处访问我创建的页面:

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

我已在应用设置中设置了回拨网址。

此callback.php也是根据上述URL中给出的示例创建的。但是,当我点击立即付款FB按钮时,它总是显示错误,点击此URL可以看到错误:

处理付款时出现问题

抱歉,我们无法处理您的付款。您未收到此笔交易的费用。请再试一次。

需要帮助来尽快解决此问题,因为我需要尽快让应用程序生效。

提前致谢。

1 个答案:

答案 0 :(得分: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, '-_', '+/'));
}

确保正确调用此功能。