我正在遵循(https://docs.start.payfort.com/references/api/)文档来实现Payfort支付API,但我面临问题。有人能帮助我解决这些问题吗?
我在API中使用以下代码:

<?php
require_once('lib/Start.php');

// Enter secret key here
Start::setApiKey('test_sec_k_9d19ef5bd543507e333ba7b');

//Create a new token for customer
$token = Start_Token::create(array(
  "number" => "4242424242424242",
  "exp_month" => 06,
  "exp_year" => 2018,
  "cvc" => "123",
  "name" => "Abdullah Mohammed"
));

echo "<pre>"; print_r($token); exit;

$result = Start_Charge::create(array(
  "amount" => 1000,
  "currency" => "aed",
  "metadata" => array(
    "reference_id" => "1234567890",
    "tag" => "new"
  ),
  "card" => array(
    "name" => "Abdullah Ahmed",
    "number" => "4242424242424242",
    "exp_month" => 06,
    "exp_year" => 2018,
    "cvc" => "123"
  ),
  "description" => "Two widgets ([email protected])",
  "email" => "[email protected]"
));

try {
  // Use Start's bindings...
} catch(Start_Error_Banking $e) {
  // Since it's a decline, Start_Error_Banking will be caught
  print('Status is:' . $e->getHttpStatus() . "\n");
  print('Code is:' . $e->getErrorCode() . "\n");
  print('Message is:' . $e->getMessage() . "\n");

} catch (Start_Error_Request $e) {
  // Invalid parameters were supplied to Start's API

} catch (Start_Error_Authentication $e) {
  // Invalid API key

} catch (Start_Error_Processing $e) {
  // Something wrong on Start's end

} catch (Start_Error $e) {
  // Display a very generic error to the user, and maybe send
  // yourself an email

} catch (Exception $e) {
  // Something else happened, completely unrelated to Start

}
?>

在上面的代码中,我使用print_r()和exit来打印变量的详细信息,但是我得到了如下错误:
<b>Fatal error</b>:  Uncaught exception 'Start_Error_Authentication' with message 'Request can only be authenticated with an open API Key.'

请帮我解决这个问题。
提前谢谢你的关注。

最佳答案

请参考以下文件,我认为这是正式的Payfort集成文件。
https://docs.payfort.com/

09-17 21:00