更新信用卡或允许用户在平衡支付中使用不同的卡

2024-04-26 11:30:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用balanced payments允许用户在我的网站上购买服务。当用户准备结帐时,他们在我的网站上登录/创建一个帐户,然后输入他们的信用卡信息。卡已充值,他们正在路上。在

正如我在上面提到的,我的网站提供了一项服务,因此我每月通过cronjob自动向他们的卡充值。我只需使用以下一行代码来抓住买家:

buyer = balanced.Account.query.filter(email_address = emailAddress)[0]

很简单。但是,信用卡丢失、过期、用户希望使用不同的信用卡等等。我如何允许用户编辑他们的信用卡或提供新的信用卡?我是否只需创建一个单独的页面,让他们通过以下方式输入新的信用卡信息:

^{pr2}$

最后,balanced如何决定使用哪个chard?如何让用户管理他们想要使用的信用卡?我是否只需存储card_uri并让他们选择要使用的卡uri?在


Tags: 代码用户信息网站帐户accounturibuyer
2条回答

文档中包含了很多这方面的内容

you may charge a specific card, if you don't, balanced will charge the most recently added card on this account.

如果您查看the source for the balanced-python库,您可以得到有关使用哪些参数的提示。我很感激第一次见面可能会有点困惑,所以谢谢你的提问。在

向现有帐户添加卡:

card = balanced.Card(**card_payload)  # this could also just be a URI from a card tokenized with balanced.js
account = balanced.Account.query.filter(email_address = emailAddress).one()
account.add_card(card.uri)

为特定卡充电:

^{pr2}$

为用户显示卡片

cards = account.cards
for card in cards:
    # display as you like, the card object has the following attributes:
    print card.__dict__.keys()
   ['expiration_month', 'account', 'hash', 'name', 'expiration_year', 'created_at', 'brand', 'uri', 'card_type', 'is_valid', 'meta', 'last_four', 'id']

下面是一个完整的示例,可能会有所帮助:

import balanced


key = balanced.APIKey().save()
balanced.configure(key.secret)
balanced.Marketplace().save()

buyer = balanced.Account(email_address='buyer@example.org').save()

# add a new card
card = balanced.Marketplace.my_marketplace.create_card(
    name='First card',
    card_number='5105105105105100',
    expiration_month='12',
    expiration_year='2020',
    security_code='123',
)

buyer.add_card(card.uri)

# add another valid card 
card = balanced.Marketplace.my_marketplace.create_card(
    name='Second card',
    card_number='5105105105105100',
    expiration_month='12',
    expiration_year='2020',
    security_code='123',
)

buyer.add_card(card.uri)

amount_in_cents = 100  # $1.00

first_card = buyer.cards[0]
second_card = buyer.cards[1]

# charge a specific card
debit = buyer.debit(amount_in_cents, source_uri=first_card.uri)
debit2 = buyer.debit(amount_in_cents, source_uri=second_card.uri)

assert debit.source.uri == first_card.uri
assert debit2.source.uri == second_card.uri

# show all attributes on an object
print first_card.__dict__.keys()

相关问题 更多 >