立即为 Paymill 订阅创建第一笔交易

Create first transaction immediately for Paymill subscription

所以我们在我们的应用程序中实现了 Paymill 订阅。问题是在用户提交他的信用卡信息并且我们在后端创建订阅后,第一笔交易不会立即进行。几分钟后,我们收到第一个 subscription.succeeded 网络挂钩,表示第一笔交易。它完成了工作,但我们如何才能在创建订阅的同时获得第一笔交易呢?通过预授权?

问题是,Paymill 网站上和 API 文档中都没有太多关于此类用例的信息。

您说得对,Webhook 不允许您获得 API 呼叫的即时响应。

但是,您可以通过创建交易获得即时响应:

curl https://api.paymill.com/v2.1/transactions \
-u <YOUR_PRIVATE_KEY>: \
-d "amount=4200" \
-d "currency=EUR" \
-d "payment=<CLIENT_PAYMENT>" \
-d "client=<YOUR_CLIENT>" \
-d "description=Transaction"

交易响应会立即返回到您的服务器,这样您就可以立即通知您的客户。

如果交易成功,您以后还想通过创建订阅向您的客户扣款:

curl https://api.paymill.com/v2.1/subscriptions \
-u <YOUR_PRIVATE_KEY>: \
-d "client=<YOUR_CLIENT>" \
-d "payment=<CLIENT_PAYMENT>" \
-d "amount=4200" \
-d "currency=EUR" \
-d "interval=1 week,monday" \
-d "name=Example Subscription" \
-d "period_of_validity=2 YEAR" \
-d "start_at=<SUBSCRIPTION_STARTING_DATE"

start_at参数需要包含订阅开始的日期(未来):

current_date + subscription_interval(例如 1 周)

如果不设置此参数,您将在同一天从您客户的信用卡中扣款两次!