Невозможно реализовать подписку Braintree на Flask - PullRequest
0 голосов
/ 15 мая 2019

У меня есть это приложение

import braintree
from flask import Flask, render_template, send_from_directory, request

try:
    from ConfigParser import SafeConfigParser
except ImportError:
    from configparser import SafeConfigParser

app = Flask(__name__)

parser = SafeConfigParser()
parser.read('secrets.ini')
MERCHANTID = parser.get('braintree', 'MERCHANTID')
PUBLICKEY = parser.get('braintree', 'PUBLICKEY')
PRIVATEKEY = parser.get('braintree', 'PRIVATEKEY')

braintree.Configuration.configure(braintree.Environment.Sandbox,
                                  merchant_id=MERCHANTID,
                                  public_key=PUBLICKEY,
                                  private_key=PRIVATEKEY)

@app.route("/")
def index():
    # Generate client token for the dropin ui
    client_token = braintree.ClientToken.generate({})

    return render_template('index.html', token=client_token)

@app.route("/proc", methods=['GET', 'POST'])
def proc():
    # result = braintree.Transaction.sale({
    #     "amount": request.form["amount"],
    #     "payment_method_nonce": request.form["payment_method_nonce"]
    # })
    # print(result)
    result = braintree.Customer.create({
    "credit_card": {
        "number": "4111111111111111",
        "expiration_date": "12/16"
    }
    })

    result = braintree.Subscription.create({
    "payment_method_token": result.customer.credit_cards[0].token,
    "plan_id": "upwork_sub"
    })
    return render_template('proc.html', result=result, request=request.form)

if __name__ == "__main__":
    app.run(host='0.0.0.0')

Одноразовая оплата (код, который комментируется) работает нормально.Проблема в том, что когда я хочу оплатить подписку, мне нужно создать клиент и выполнить автоматическую зарядку с подпиской.

Как я могу сделать это без жесткого кодирования информации о клиенте

...