Exemplo n.º 1
0
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")
Exemplo n.º 2
0
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")