我使用OffAmazonPayments JS庫來允許用戶登錄到他們的亞馬遜賬戶,訪問他們的地址簿,並最終用他們的亞馬遜賬戶支付。地址簿小部件將讓我檢索一般地址信息,但沒有地址許可令牌,我無法獲得街道地址。如何在亞馬遜登錄後獲取「地址許可令牌」?
此鏈接指示,我可以檢索認證之後Button對象的地址同意的道理,但它是如何工作目前還不清楚;在登錄按鈕的定義中,有一個「onSignIn」回調,它接收一個orderReference對象,但該對象似乎不包含任何這樣的標記。
我使用OffAmazonPayments JS庫來允許用戶登錄到他們的亞馬遜賬戶,訪問他們的地址簿,並最終用他們的亞馬遜賬戶支付。地址簿小部件將讓我檢索一般地址信息,但沒有地址許可令牌,我無法獲得街道地址。如何在亞馬遜登錄後獲取「地址許可令牌」?
此鏈接指示,我可以檢索認證之後Button對象的地址同意的道理,但它是如何工作目前還不清楚;在登錄按鈕的定義中,有一個「onSignIn」回調,它接收一個orderReference對象,但該對象似乎不包含任何這樣的標記。
請參見亞馬遜付款documentation..specifically此頁:https://payments.amazon.com/documentation/lpwa/201953150
正如你可以在下面的代碼片段看(從該頁面所),您可以從「amazon.Login.authorize檢索令牌( ...)「功能。
注意:您首先必須在「範圍」參數「payments:shipping_address」中包含一個範圍作爲您的範圍以獲取「地址許可令牌」。下面我將包含其他範圍,以便您可以看到如何列出多個範圍。
CAPS字/參數將被您自己想要的參數替換。
<script type="text/javascript">
var authRequest;
var addressConsentToken;
OffAmazonPayments.Button("AmazonPayButton", "YOUR_SELLER_ID", {
type: "ENTER_TYPE_PARAMETER",
color: "ENTER_COLOR_PARAMETER",
size: "ENTER_SIZE_PARAMETER",
language: "ENTER_LANGUAGE_PARAMETER",
authorization: function() {
loginOptions = {scope: "profile payments:widget payments:shipping_address",
popup: "ENTER_POPUP_PARAMETER"};
authRequest = amazon.Login.authorize (loginOptions,
function(response) {
addressConsentToken = response.access_token;
});
},
onSignIn: function (orderReference) {
var referenceId = orderReference.getAmazonOrderReferenceId();
if (!referenceId) {
errorHandler(new Error('referenceId missing'));
} else {
window.location = "YOUR_REDIRECT_URL" + '?referenceId=' +
orderReference.getAmazonOrderReferenceId() +
"&access_token=" + addressConsentToken;
}
},
onError:errorHandler || function(error) {
// your error handling code
}
});
</script>
請檢查下面的答案,看看這是否能解決您的問題。 – TWright