Intereting Posts
Laravel: создать или обновить связанную модель? вставить запрос с использованием приема петли foreach. Ошибка неактивности: вызов функции-члена execute () в булевом Нужно ли закрывать file_get_contents? Как бороться со странным округлением плавающих в PHP if-else синтаксис предпочтения Должен ли я использовать экранирование цитат php для одиночных кавычек или использовать двойные кавычки в массивах? Накладные расходы PHP Framework как предотвратить доступ пользователей к определенному каталогу Выпадающие поля выбора уязвимы для любого типа инъекций Отправлять данные от контроллера, чтобы всплывать модально, используя bootstrap codeigniter Каков наилучший способ сохранить скрипт PHP в качестве демона? Функциональный тест – служба Mock не сохраняется в сервисном контейнере Zend Framework – умножить навигационные блоки При извлечении имени исполнителя из файла XML отображается только 1 запись PHP-HTML-парсинг :: Как можно взять значение кодировки веб-страницы с помощью простого анализатора html dom?

Пример PHP для PayPal Adaptive Payments ConvertCurrency API

Попытка обернуть голову вокруг нового API Adaptive Payments PayPal – в частности, функции ConvertCurrency. Кому-нибудь повезло с этим в PHP?

Документация: https://www.x.com/docs/DOC-1400

Очень легко конвертировать в diff. валюты, используя SDK Paypal Adaptive Payments. Предполагая, что у вас есть необходимая информация. (API username / passwd и т. Д.), Чтобы делать запросы к API, это можно сделать следующим образом:

<?php //First we need to include the class file of the Adaptive Payments include 'AdaptivePayments.php'; // Create an instance, you'll make all the necessary requests through this // object, if you digged through the code, you'll notice an AdaptivePaymentsProxy class // wich has in it all of the classes corresponding to every object mentioned on the // documentation of the API $ap = new AdaptivePayments(); // Our request envelope $requestEnvelope = new RequestEnvelope(); $requestEnvelope->detailLevel = 0; $requestEnvelope->errorLanguage = 'en_US'; // Our base amount, in other words the currency we want to convert to // other currency type. It's very straighforward, just have a public // prop. to hold de amount and the current code. $baseAmountList = new CurrencyList(); $baseAmountList->currency = array( 'amount' => 15, 'code' => 'USD' ); // Our target currency type. Given that I'm from Mexico I would like to // see it in mexican pesos. Again, just need to provide the code of the // currency. On the docs you'll have access to the complete list of codes $convertToCurrencyList = new CurrencyCodeList(); $convertToCurrencyList->currencyCode = 'MXN'; // Now create a instance of the ConvertCurrencyRequest object, which is // the one necessary to handle this request. // This object takes as parameters the ones we previously created, which // are our base currency, our target currency, and the req. envelop $ccReq = new ConvertCurrencyRequest(); $ccReq->baseAmountList = $baseAmountList; $ccReq->convertToCurrencyList = $convertToCurrencyList; $ccReq->requestEnvelope = $requestEnvelope; // And finally we call the ConvertCurrency method on our AdaptivePayment object, // and assign whatever result we get to our variable $result = $ap->ConvertCurrency($ccReq); // Given that our result should be a ConvertCurrencyResponse object, we can // look into its properties for further display/processing purposes $resultingCurrencyList = $result->estimatedAmountTable->currencyConversionList; $baseAmount = $resultingCurrencyList->baseAmount->amount; $baseAmountCode = $resultingCurrencyList->baseAmount->code; $convertedAmount = $resultingCurrencyList->currencyList->currency->amount; $convertedAmountCode = $resultingCurrencyList->currencyList->currency->code; echo '<br /> $' . $baseAmount . ' ' . $baseAmountCode . ' is $' . $convertedAmount . ' ' . $convertedAmountCode; // And here just for the sake of knowing how we get the result from Paypal's API echo '<pre>'; print_r($result); echo '</pre>'; 

Результат должен выглядеть примерно так:

 $15 USD is $159.75 MXN ConvertCurrencyResponse Object ( [responseEnvelope] => ResponseEnvelope Object ( [timestamp] => 2010-04-20T13:27:40.278-07:00 [ack] => Success [correlationId] => b940006680f6a [build] => 1238639 ) [estimatedAmountTable] => stdClass Object ( [currencyConversionList] => CurrencyConversionList Object ( [baseAmount] => stdClass Object ( [code] => USD [amount] => 15 ) [currencyList] => CurrencyList Object ( [currency] => currency Object ( [code] => MXN [amount] => 159.75 ) ) ) ) ) 

Как вы можете видеть, очень просто использовать API ConvertCurrency, просто загрузить SDK и начать играть с ним;)