所以我们在我们的应用程序中实现了 Paymill 订阅。问题是在用户提交他的信用卡信息并且我们在后端创建订阅后,第一笔交易不会立即进行。几分钟后,我们收到了第一个 subscription.succeeded web-hook,表示第一个事务。它完成了工作,但是我们如何在创建订阅的同时获得第一笔交易呢?通过预授权?
问题是,Paymill 网站上没有太多信息,API 文档中也没有关于此类用例的信息。
所以我们在我们的应用程序中实现了 Paymill 订阅。问题是在用户提交他的信用卡信息并且我们在后端创建订阅后,第一笔交易不会立即进行。几分钟后,我们收到了第一个 subscription.succeeded web-hook,表示第一个事务。它完成了工作,但是我们如何在创建订阅的同时获得第一笔交易呢?通过预授权?
问题是,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 周)
如果未设置此参数,您将在同一天向您的客户的信用卡收取两次费用!