我在众筹网站上使用条纹。使用条纹api很容易承诺卡。 当广告系列达到目标时,所有的卡都必须收费。我正在使用cronjobs检查是否有任何广告系列符合其资金目标,如果是,则收取质押卡。由于卡片是批量的,条带api需要更多时间和PHP执行时间限制结束。 所以我为此目的选择了nodejs来异步发送计费请求(这是有效的)。
我还有另一种选择,即在宣传卡的竞选期限内创建一次性资助金额。
如果广告系列没有成功,所有订阅都将从条带通过cron作业中删除。 我的问题是,如果广告系列成功,则使用收费请求向所有卡收取费用的最佳方法,或者在卡片承诺时创建订阅,并在广告系列未达到目标时删除所有订阅。
答案 0 :(得分:1)
如果是我,我会:
通过Stripe API在每个承诺上创建一个客户对象。
在每个承诺上创建一个卡片对象,通过Stripe API附加到客户。
在您的本地数据库中存储一条记录,用于标识Stripe中的客户和卡片对象,并将其与广告系列相关联。添加列“has_been_charged”(BOOL)= 0(false)。添加列“has_been_deleted”(BOOL)= 0(false)。
然后,在广告系列完成后,手动或自动作业将验证广告系列是否成功。
如果广告系列成功:
遍历每个数据库记录WHERE has_been_charged = 0 AND campaign_id =广告系列。在100或500或1000的块中执行此操作,依赖于DB连接和循环所需的时间。
在循环期间,通过Stripe API检索卡/客户对象,通过Stripe API创建费用,更新数据库列has_been_charged = 1.
重复循环,直到所有费用完成。
如果广告系列不成功:
遍历每个数据库记录WHERE has_been_deleted = 0 AND campaign_id =广告系列再次,在块中执行此操作。
在循环过程中,通过Stripe API(也可能是客户对象)删除卡对象,同时更新数据库列has_been_deleted = 1.
重复循环,直到所有卡片都被移除。