0

私はdjangoアプリを持っており、支払いゲートウェイ機能を実装しています。今私が試していたのは

トランザクションが成功した後、応答の詳細を表示する別のページにユーザーをリダイレクトする必要があるためHttpresponseRedirect、ページをリダイレクトするために使用していますが、応答の詳細responseを含むビューに変数があるため、この変数をコンテキストとして送信する必要がありますテンプレートをレンダリングするリダイレクト URL。これにより、その応答変数を使用して結果を表示できます。

上記の機能のために、私は3つの方法を得ました

  1. 変数をクエリ パラメータとして送信する (機密性の高いクレジット カード取引の詳細であるため、このメソッドでは安全ではありません)
  2. 私の場合は機能していないセッションフレームワークを使用すると、コードは以下になります
  3. Django メッセージング フレームワーク (この場合はあまり役に立ちません)

ビュー.py

def payment(request):
    amount = 1
    if request.method == 'POST':
        form = CreditCardForm(request.POST)
        if form.is_valid():
            data = form.cleaned_data
            ...........
            ........... 
            response = stripe.payment_purchase(amount,data) 
            request.session['response'] = response
            return HttpResponseRedirect(reverse('paygate:payment_success'))
    else:
        form = CreditCardForm(initial={'number':'4242424242424242'})
    return render_to_response('payment/stripe_payment_form.html',{'form': form,
                                             'response':response,},
                                             context_instance=RequestContext(request))

payment_success URL ビュー

class PaymentSuccess(TemplateView):
    template_name = 'payment/payment_success.html'

responseテンプレートの変数にアクセスしようとしましたが、何も表示されません

payment_success.html

{% extends "base.html" %}
{% block main_title %}Payment{% endblock %}
{% block title %}Success{% endblock %}

{% block content %}
  <h1>Response Details</h1>
  <p>Your status is <span>{{ request.session.response }}</span></p>
{% endblock %} 

メソッドcredit card payment detailsを使用してリダイレクト URLにコンテキスト変数 (この場合) を送信するさまざまな安全で安全な方法を教えてください。HttpResponseRedirect

4

1 に答える 1