使用 openexchangerates.org 转发任何欧元货币的 PayPal 付款
Posted
技术标签:
【中文标题】使用 openexchangerates.org 转发任何欧元货币的 PayPal 付款【英文标题】:Forward any PayPal payment in EUR currency using openexchangerates.org 【发布时间】:2016-12-20 19:30:28 【问题描述】:我想转发以欧元货币进行的任何付款交易。我已经修改了我负责的 php 文件来做到这一点,但我很难让它使用实时汇率。目前,这是我发送给 PayPal 的内容,它可以正常工作:
if ( $selected != 'EUR' )
$themex_final_payable_amount = ((3.672538)*($themex_final_payable_amount))/(66.809999);
$p->add_field('business', trim($busi));
$p->add_field('currency_code','EUR');
$p->add_field('return', $ themex_paypal_success_page);
$p->add_field('cancel_return', $cancel_url);
$p->add_field('notify_url', get_bloginfo('siteurl').'/?payment_response=paypal_response');
$p->add_field('item_name', $page_title);
$p->add_field('custom', $order_id);
$p->add_field('amount', ($themex_final_payable_amount));
$p->submit_paypal_post(); // submit the fields to paypal
我希望使用此 API 答案中的变量而不是 3.672538 和 66.809999,该变量每天自动更新一次。
JSON - latest.json
disclaimer: "https://openexchangerates.org/terms/",
license: "https://openexchangerates.org/license/",
timestamp: 1449877801,
base: "USD",
rates:
AED: 3.672538,
AFN: 66.809999,
ALL: 125.716501,
AMD: 484.902502,
ANG: 1.788575,
AOA: 135.295998,
ARS: 9.750101,
AUD: 1.390866,
/* ... */
问题是我找不到调用它们的方法——比如使用 AED 和 AFN 的今天值……这是我在管理页面(另一个 PHP 文件)中使用的代码部分我的 API 密钥:
if(isset($_POST['themex_save5']))
$json = get_option('exchange_rates');
$exchangeRates = json_decode($json);
global $themex_currencies_array;
foreach ($themex_currencies_array as $themex_currency)
if ($themex_currency != "USD")
$exchangeRates->rates->$ themex_currency = $_POST['themex_' . $themex_currency . '_currency'];
$json = json_encode($exchangeRates);
update_option('exchange_rates', $json);
update_option('openexchangerates_appid', trim($_POST['openexchangerates_appid']));
echo '<div class="updated fade"><p>'.__('Settings saved!',' themex').'</p></div>';
基于上述,我认为它应该像这样工作,但事实并非如此
if ( $selected != 'EUR' )
$ themex_final_payable_amount = (($themex_AED_currency)*($ themex_final_payable_amount))/($themex_AFN_currency);
【问题讨论】:
我虽然这个问题很简单... 【参考方案1】:这是我需要的部分代码。我已经设法让它工作了:)
//--------------------------------------------------------------------------------
if ( $selected != 'EUR' )
$json = get_option('exchange_rates');
$exchangeRates = json_decode($json);
global $themex_currencies_array;
foreach ($themex_currencies_array as $themex_currency)
if ($themex_currency != "USD")
switch($themex_currency)
case "AFN":
$myAFN = $exchangeRates->rates->$themex_currency; ;
break;
case "AED":
$myAED = $exchangeRates->rates->$themex_currency; ;
break;
$themex_final_payable_amount = (($myAED)*($themex_final_payable_amount))/($myAFN);
$p->add_field('business', trim($busi));
$p->add_field('currency_code','EUR');
$p->add_field('return', $ themex_paypal_success_page);
$p->add_field('cancel_return', $cancel_url);
$p->add_field('notify_url', get_bloginfo('siteurl').'/?payment_response=paypal_response');
$p->add_field('item_name', $page_title);
$p->add_field('custom', $order_id);
$p->add_field('amount', ($themex_final_payable_amount));
$p->submit_paypal_post(); // submit the fields to paypal
【讨论】:
以上是关于使用 openexchangerates.org 转发任何欧元货币的 PayPal 付款的主要内容,如果未能解决你的问题,请参考以下文章
CORS 标头“Access-Control-Allow-Origin”缺少 Laravel 5.4