2

我将 amazon pay 集成到我的网站中,并按照Amazon Pay SDK Simple Checkout的说明进行操作。到目前为止一切正常,但在最后一步代码示例显示我需要一个授权参考 ID。

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”。但我不知道如何得到它。它不在我之前对设置新订单的回复中。它也不包含在“confirmOrderReference”响应中。我在这里错过了什么还是代码示例不完整?

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

谢谢你的帮助

4

1 回答 1

3

authorization_reference_id是你给的。它应该是独一无二的。

您可以使用uniqidPHP 中的内置函数来生成它。对于每个请求,它必须是唯一的。

$requestParameters['authorization_reference_id'] = uniqid();
于 2020-02-12T20:14:45.217 回答