gpt4 book ai didi

javascript - 亚马逊支付与 Javascript 和 PHP 的集成 - PaymentPlanNotSet

转载 作者:行者123 更新时间:2023-12-03 00:54:36 25 4
gpt4 key购买 nike

目前我尝试整合亚马逊支付。我想显示使用以下功能创建的按钮:

OffAmazonPayments.Button("AmazonPayButton", myAmznMerchantID

用户登录后,我想在同一页面上显示 AdressBook 小部件和付款小部件。按钮和小部件显示正确,但是当我尝试确认付款时,我收到错误约束消息:

PaymentPlanNotSet The buyer has not been able to select a Payment method for the given Order Reference.

但是付款已被选择。

我希望你能帮助我,找到我在这段 Javascript 代码中的失败:

window.onAmazonLoginReady = function () {
amazon.Login.setClientId(myAmznClientID);
};
window.onAmazonPaymentsReady = function() {
var __accessToken = 0;
var __orderReferenceId = 0;

show_amazon_Button();

function show_amazon_Button() {
OffAmazonPayments.Button("AmazonPayButton", ibuiAmazonPaymentsInfos.ibAmznMerchantID, {
type: "PwA",
color: "Gold",
size: "small", // "medium",
language: "de-DE",
authorization: function () {
loginOptions = { scope: "profile:user_id", popup: true };
authRequest = amazon.Login.authorize(loginOptions, function(response) {
if (response.error) {
//show Error
return;
} else {
__accessToken = response.access_token;
show_Adress_Widget();
}
});
},
onError: function(error) {
//handleError
}
});
}

function show_Adress_Widget() {
new OffAmazonPayments.Widgets.AddressBook({
sellerId: ibuiAmazonPaymentsInfos.ibAmznMerchantID,
onOrderReferenceCreate: function (orderReference) {
__orderReferenceId = orderReference.getAmazonOrderReferenceId();
//do Stuff
},
onAddressSelect: function (orderReference) {
show_Amazon_Wallet();
},
design: {
designMode: 'responsive'
},
onError: function (error) {
//handle Error
}
}).bind("readOnlyAddressBookWidgetDiv");
}

function show_Amazon_Wallet() {
new OffAmazonPayments.Widgets.Wallet({
sellerId: myAmznMerchantID,
onOrderReferenceCreate: function(orderReference) {
//do Stuff
},
design: {
designMode: 'responsive'
},
onPaymentSelect: function(orderReference) {
//activate buy button
},
onError: function(error) {
//handle error
}
}).bind('AmazonWalletWidgetDiv');
}
} //onAmazonPaymentsReady

在 PHP 中,我通过以下方式创建 OrderReference:

$params = array(
'order_reference_id' => $orderReferenceId,
'amount' => $amount,
'seller_order_id' => $buchungsKopf->getBuchung_nr(),
);
$responseObject = $client->setOrderReferenceDetails($params);

即使我之前选择了付款方式,我也会在responseObject 中收到“PaymentPlanNotSet”。当我尝试确认 orderReference 时出现同样的错误

$responseObject2    = $client->confirmOrderReference($params);

在集成 AdressWidget 之前,我可以进行付款。你能看出我做错了什么吗?

最佳答案

看来我发现了自己的失败。当我想在同一页面上显示两个小部件(地址和钱包)时,我无法使用 OffAmazonPayments.Widget.Wallet 中的 onOrderReferenceCreate-Method 。看起来它创建了一个新的订单引用,它与 AdressBook Widget 创建的订单引用不同。

现在我已经删除了钱包小部件的这一部分,一切似乎都工作正常。

关于javascript - 亚马逊支付与 Javascript 和 PHP 的集成 - PaymentPlanNotSet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52891791/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com