当使用来自amazon集成的示例时-生成的有效载荷签名php在哪里,以及它返回的值如何到达正文中的js代码?
我知道这听起来很荒谬,但我已经很长时间没有做任何编码了。
当我在浏览器中运行时,控制台只是说“有效负载不是正确的JSON格式”,我只是猜测这与签名有关。
`<?php include 'vendor/autoload.php';
$amazonpay_config = array(
'public_key_id' => 'MY_PUBLIC_KEY_ID',
'private_key' => 'keys/private.pem',
'region' => 'US',
'sandbox' => true
);
$client = new Amazon\Pay\API\Client($amazonpay_config);
$payload = '{"storeId":"amzn1.application-oa2-client.xxxxx","webCheckoutDetails":{"checkoutReviewReturnUrl":"https://example.com/review.html"}}';
$signature = $client->generateButtonSignature($payload);
echo $signature . "\n";
?>
<div id="AmazonPayButton"></div>
<script src="https://static-na.payments-amazon.com/checkout.js"></script>
<script type="text/javascript" charset="utf-8">
const amazonPayButton = amazon.Pay.renderButton('#AmazonPayButton', {
// set checkout environment
merchantId: 'ABCDEFGHIJK',
publicKeyId: 'SANDBOX-ABCDEFGHIJKLMNOP',
ledgerCurrency: 'USD',
// customize the buyer experience
checkoutLanguage: 'en_US',
productType: 'PayOnly',
placement: 'Cart',
buttonColor: 'Gold',
estimatedOrderAmount: { "amount": "109.99", "currencyCode": "USD"},
// configure Create Checkout Session request
createCheckoutSessionConfig: {
payloadJSON: 'payload', // string generated in step 2
signature: 'xxxx' // signature generated in step 3
}
});
</script>
` 发布于 2022-09-10 20:11:01
您在控制台中获得此消息是因为您没有将有效负载和签名传递给createCheckoutSessionConfig。(这是强制性的,甚至在评论中强调;)
https://stackoverflow.com/questions/73674598
复制相似问题