我正在开发一个使用 FB Credits 作为货币的应用程序,但是,我的客户将以当地货币(ILS,以色列谢克尔)付款。
我知道 1 个信用的汇率是 10 美分,但是,ILS 的价格似乎会根据 USD-ILS 汇率的变化而变化。
有没有办法查询 Facebook 服务器以了解用户将以当地货币支付的价格?就像一种查询价目表的方法。许多新用户不了解积分的概念,我想向他们展示他们将要以当地货币支付的金额。
我正在开发一个使用 FB Credits 作为货币的应用程序,但是,我的客户将以当地货币(ILS,以色列谢克尔)付款。
我知道 1 个信用的汇率是 10 美分,但是,ILS 的价格似乎会根据 USD-ILS 汇率的变化而变化。
有没有办法查询 Facebook 服务器以了解用户将以当地货币支付的价格?就像一种查询价目表的方法。许多新用户不了解积分的概念,我想向他们展示他们将要以当地货币支付的金额。
Facebook Credits API没有可用的汇率信息。您可以在他们的开发人员组中请求此功能。最好的办法是拉下一个汇率提要(如果你搜索的话,有很多可用的)并显示它,并警告它只是一个估计的汇率,它取决于 Facebook 使用的实际汇率。
为了总结这个问题,我尝试了两种方法。python
一种是使用此功能从 openexchange 每 10 分钟提取一次费率:
def update_ils_rate():
print "Updating ILS/USD exchange rate"
url = 'http://openexchangerates.org/latest.json'
response = requests.request('get', url)
content = response.content
data = loads(content)
return data['rates']['ILS']
然而,facebook credits 似乎根据不同的费率计算 ILS(以色列谢克尔)费率(计算略有偏差)。所以我们决定xml
从以色列中央银行提取数据,使用这个函数:
import requests, BeautifulSoup
def get_ils_rate():
response = requests.request('get', 'http://www.bankisrael.gov.il/currency.xml')
content = response.content
soup = BeautifulSoup(content)
currencies = soup.findAll('currency')
for c in currencies:
if c.currencycode.contents[0]=='USD':
return float(c.rate.contents[0])
xe.com 是一个很棒的提要,您还可以从 yahoo 或 google 金融中提取数据
正如 OffBySome 所说,Facebook 没有可用的汇率信息。考虑到这一点,我明白他们为什么没有这个,因为他们不希望您显示商品的当地货币价格。尽管目前 Facebook Credits 相对较新,并且最终用户有很多困惑,但最终当它普及时不会出现这些问题。
我现在建议(因为这就是我所做的 - 这里一个 Facebook Credit 目前约为 7 便士),您只需在您的应用程序中以当地货币硬编码 1 Facebook Credit 的价格,并在需要时显示它。我认为 Facebook 不支持这一点的原因之一是他们没有设想将使用 Credits 的应用程序限制在一个领域,但实际上并非所有东西都是在全球范围内使用的游戏。:)