В настоящее время я пытаюсь интегрировать оплату Amazon.Я хочу отобразить кнопку, созданную с помощью функции:
OffAmazonPayments.Button("AmazonPayButton", myAmznMerchantID
, и после того, как пользователь войдет в систему, я хочу отобразить виджет AdressBook и виджет платежей на одной странице.Кнопка и виджеты отображаются правильно, но когда я пытаюсь подтвердить платеж, я получаю сообщение об ошибке:
PaymentPlanNotSet Покупатель не смог выбрать способ оплаты дляуказанная ссылка на заказ.
Но был выбран платеж.
Я надеюсь, что вы можете мне помочь, чтобы найти мою ошибку в этом коде 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);
И даже если раньше я выбрал способ оплаты, я получаю «PaymentPlanNotSet» в responseObject.Та же ошибка, когда я пытаюсь подтвердить заказ. Ссылка
$responseObject2 = $client->confirmOrderReference($params);
До того, как я интегрировал AdressWidget, я смог сделать платеж.Ты видишь, что я делаю не так?