浏览代码

feat: iap confirm endpoint (#338)

Mo 2 年之前
父节点
当前提交
3bba36742a

+ 2 - 1
packages/api-gateway/src/Controller/SubscriptionTokenAuthMiddleware.ts

@@ -20,7 +20,8 @@ export class SubscriptionTokenAuthMiddleware extends BaseMiddleware {
   }
 
   async handler(request: Request, response: Response, next: NextFunction): Promise<void> {
-    const subscriptionToken = request.query.subscription_token
+    const subscriptionToken = request.query.subscription_token || request.body.subscription_token
+
     const email = request.headers['x-offline-email']
     if (!subscriptionToken) {
       response.status(401).send({

+ 5 - 0
packages/api-gateway/src/Controller/v1/PaymentsController.ts

@@ -45,6 +45,11 @@ export class PaymentsController extends BaseHttpController {
     await this.httpService.callPaymentsServer(request, response, 'api/subscriptions/tiered', request.body)
   }
 
+  @httpPost('/subscriptions/apple_iap_confirm', TYPES.SubscriptionTokenAuthMiddleware)
+  async appleIAPConfirm(request: Request, response: Response): Promise<void> {
+    await this.httpService.callPaymentsServer(request, response, 'api/subscriptions/apple_iap_confirm', request.body)
+  }
+
   @all('/subscriptions(/*)?')
   async subscriptions(request: Request, response: Response): Promise<void> {
     await this.httpService.callPaymentsServer(request, response, request.path.replace('v1', 'api'), request.body)