4

( 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 (test@example.com)",
  "email" => "abc@gmail.com"
));

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.'

この問題を解決するのを手伝ってください。ご清聴ありがとうございました。

4

3 に答える 3

0

認証を完了するには、Open API キーを使用する必要があります。

Payfort コントロール パネルで見つける必要があります。

注: お使いのアカウントでは、Payfort からの Start API の使用が許可されていない場合があります。

于 2017-01-08T11:10:29.977 に答える