2015-05-08 12 views
3

我使用OffAmazonPayments JS庫來允許用戶登錄到他們的亞馬遜賬戶,訪問他們的地址簿,並最終用他們的亞馬遜賬戶支付。地址簿小部件將讓我檢索一般地址信息,但沒有地址許可令牌,我無法獲得街道地址。如何在亞馬遜登錄後獲取「地址許可令牌」?

http://docs.developer.amazonservices.com/en_US/off_amazon_payments/OffAmazonPayments_GetOrderReferenceDetails.html

此鏈接指示,我可以檢索認證之後Button對象的地址同意的道理,但它是如何工作目前還不清楚;在登錄按鈕的定義中,有一個「onSignIn」回調,它接收一個orderReference對象,但該對象似乎不包含任何這樣的標記。

+0

請檢查下面的答案,看看這是否能解決您的問題。 – TWright

回答

1

請參見亞馬遜付款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>