2015-05-08 4 views
3

Я использую библиотеку OffAmazonPayments JS, чтобы пользователи могли войти в свою учетную запись Amazon, получить доступ к их адресной книге и в конечном итоге оплатить их учетную запись Amazon. Виджет AddressBook позволит мне получить общую адресную информацию, но без токена согласия адреса, я не могу получить адрес улицы.Как получить «токен согласия с адресом» после входа в Amazon?

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

Эта ссылка указывает на то, что я могу получить маркер адрес согласия от объекта Button после аутентификации, но не ясно, как это работает; в определении кнопки входа есть ответ «onSignIn», который получает объект orderReference, но этот объект, похоже, не содержит такого маркера.

+0

Просьба ознакомиться с нижеприведенным ответом, чтобы узнать, разрешает ли это проблему. – TWright

ответ

1

Пожалуйста, смотрите Платежи Amazon documentation..specifically эту страницу: https://payments.amazon.com/documentation/lpwa/201953150

Как вы можете видеть в следующем фрагменте кода (взятый из указанной страницы) вы можете получить маркер из «amazon.Login.authorize (...) ".

Примечание: Прежде всего, вы должны указать параметр «scope» «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> 
Смежные вопросы