Ссылочный идентификатор авторизации Amazon Pay - PullRequest
1 голос
/ 12 февраля 2020

Я интегрировал amazon pay в свой веб-сайт и следовал инструкциям Amazon Pay SDK Simple Checkout . Пока все работает, но на последнем шаге пример кода показывает, что мне нужен идентификатор ссылки авторизации.

namespace AmazonPay;

session_start();

// Create the parameters array
$requestParameters = array();

// Refer to GetDetails.php where the Amazon Order Reference ID was set
$requestParameters['amazon_order_reference_id'] = 'AMAZON_ORDER_REFERENCE_ID';

// Confirm the order by making the ConfirmOrderReference API call
$response = $client->confirmOrderReference($requestParameters);

$responsearray['confirm'] = json_decode($response->toJson());

// If the API call was a success make the Authorize API call
if($client->success)
{
$requestParameters['authorization_amount'] = '175.00';
##################################################
############ WHERE DO I GET THIS? ################
$requestParameters['authorization_reference_id'] = 'Your Unique Reference Id';
$requestParameters['seller_authorization_note'] = 'Authorizing payment';
$requestParameters['transaction_timeout'] = 0;

$response = $client->authorize($requestParameters);
$responsearray['authorize'] = json_decode($response->toJson());
}

// If the Authorize API call was a success, make the Capture API call when you are ready to capture             
for the order (for example when the order has been dispatched)
if($client->success)
{
$requestParameters['amazon_authorization_id'] = 'Parse the Authorize Response for this id';
$requestParameters['capture_amount'] = '175.00';
$requestParameters['currency_code'] = 'USD';
$requestParameters['capture_reference_id'] = 'Your Unique Reference Id';

$response = $client->capture($requestParameters);
$responsearray['capture'] = json_decode($response->toJson());
}

// Echo the Json encoded array for the Ajax success
echo json_encode($responsearray);

Как показано выше, необходимо установить значение authorization_reference_id. Но я не знаю, как это получить. Это не в моем предыдущем ответе для установки нового заказа. Также он не включен в ответ «verifyOrderReference». Я что-то здесь упустил или пример кода не завершен?

$requestParameters['authorization_reference_id'] = 'Your Unique Reference Id';

Спасибо за любую помощь

1 Ответ

2 голосов
/ 12 февраля 2020

authorization_reference_id дано вами . Он должен быть уникальным.

Вы можете использовать встроенную функцию uniqid в PHP, чтобы сгенерировать это. Он должен быть уникальным для каждого запроса.

$requestParameters['authorization_reference_id'] = uniqid();
...