def route_payment_purchase_ios(user_id: str): user = User.get_verified_user(user_id, request) token = request.form.get("token", None) if not token: raise ValueError("Token not found ..") result = decode_receipt(token) if int(result.status) != 0: response = json.dumps(dict(result=Payment.Result.INVALID)) return Response(response, mimetype="application/json") purchase = result.receipt.in_app[0] product_id = purchase.product_id transaction_id = purchase.transaction_id created_at = pendulum.now().int_timestamp purchase_date_ms = int(purchase.purchase_date_ms) amount = get_amount(of=product_id) print("=================================") print(product_id) print(transaction_id) print(purchase_date_ms) print("=================================") purchase_result = user.purchase(platform="IOS", order_id=transaction_id, product_id=product_id, amount=amount, created_at=created_at, purchase_time_ms=purchase_date_ms) response = json.dumps(dict(result=purchase_result)) return Response(response, mimetype="application/json")
def route_payment_purchase_android(user_id: str, product_id: str, purchase_token: str): user = User.get_verified_user(user_id, request) purchase_result = verify_android_purchase_token(product_id, purchase_token) if not purchase_result.is_verified: response = json.dumps(dict(result=False)) return Response(response, mimetype="application/json") amount = get_amount(of=product_id) user.purchase(platform="ANDROID", order_id=purchase_result.order_id, amount=amount, purchase_time=purchase_result.purchase_time) response = json.dumps(dict(result=True)) return Response(response, mimetype="application/json")