php - 如何为 PHP Amazon Pay SDK 完成CheckoutSession?
问题描述
我已经按照说明如何为 PHP 集成 Amazon V2
https://github.com/amzn/amazon-pay-api-sdk-php
但我找不到任何部分如何实现完整结帐会话功能以获得“chargeID”。
这是我实施的
$payload = array(
'webCheckoutDetails' => array(
"checkoutResultReturnUrl" => HTTPS_SERVER . "index.php?route=payment/amazon/returnURL"
),
'paymentDetails' => array(
'paymentIntent' => 'Authorize',
'canHandlePendingAuthorization' => false,
'chargeAmount' => array(
'amount' => (int)$total_amount,
'currencyCode' => 'JPY'
),
),
'merchantMetadata' => array(
'merchantReferenceId' => $order_id,
'merchantStoreName' => 'MWYW Online Store',
'noteToBuyer' => 'Thank you for your order!'
)
);
try {
$client = new Amazon\Pay\API\Client($amazonpay_config);
$result = $client->updateCheckoutSession($checkoutSessionId, $payload);
$payload = array(
'chargeAmount' => array(
'amount' => (int)$total_amount,
'currencyCode' => 'JPY'
),
);
$result = $client->completeCheckoutSession($checkoutSessionId, $payload);
但是我收到了这样的错误消息
{"reasonCode":"InvalidCheckoutSessionStatus","message":"您试图对处于不允许该操作状态的 Checkout Session 调用操作"}
你能告诉我我的代码有什么问题吗?
解决方案
的结果::updateCheckoutSession()
会给你一个amazonPayRedirectUrl
in webCheckoutDetails
。您需要将客户端重定向到此 URL。
客户在该外部页面上完成输入后,他们将被重定向回您的checkoutResultReturnUrl
. 此时您将能够完成 CheckoutSession。
推荐阅读
- java - JNLP 不安全属性
- javascript - 使用 recompose 映射从上下文中消耗的道具
- javascript - 单击时将javascript对象/数组值转换为表单输入
- python - 从 CSV 文件实时绘制数据
- python - 在所有列聚合后重命名所有列
- sql - Sybase ASE:添加不带 DEFAULT 的 NOT NULL 列失败。为什么?
- javascript - 如何在预先给定的 div 中动态创建 div
- c# - 无法使用 log4net 登录到文件
- javascript - 我是否需要测试前端客户端应用程序进行的实际 API 调用?
- angularjs - 当焦点转移时,uib-typeahead 下拉菜单不会消失?