У меня есть корзина, оказанная методом просмотра A, я хочу получить детали в корзине для отправки в pesapal api через pesapal package. Я использую тот же метод, что и sandbox app, PaymentView. В корзине покупок есть кнопка проверки, которая предназначена для отправки данных в api. Метод Sandbox simlpy получает данные в виде словаря (order_info) и подает на url (get_payment_url), который затем передает api, поэтому, когда я открываю шаблон, iframe api определяет, что я использую amout, указанный в словаре. Как я могу отправить данные через корзину?Интеграция с платежами Django
## Sandbox method submitting data to the api
class PaymentView(TemplateView, PaymentRequestMixin):
template_name = 'payment/payment.html'
# how the sandbox app submits data to api:
def get_context_data(self, **kwargs):
ctx = super(PaymentView, self).get_context_data(**kwargs)
order_info = {
'amount': '1000',
'description': 'Payment for Stuff',
'reference': 2,
'email': '[email protected]'
}
ctx['pesapal_url'] = self.get_payment_url(**order_info)
return ctx
## view method A:
def show_cart(request, template_name="payment/cart.html"):
if request.method == 'POST':
postdata = request.POST.copy()
if postdata['submit'] == 'Remove':
cart.remove_from_cart(request)
if postdata['submit'] == 'Update':
cart.update_cart(request)
if postdata['submit'] == 'Checkout':
# submission to api should occur here
cart_items = cart.get_cart_items(request)
cart_subtotal = cart.cart_subtotal(request)
return render_to_response(template_name, locals(), context_instance=RequestContext(request))
# my url
urlpatterns = patterns('cart.views',
(r'^$', 'show_cart', { 'template_name': 'payment/cart.html' }, 'show_cart'),
)
На самом деле есть, Вы имеете в виду набор данных, который нужно отправить api? @Martin проверяет метод «generate_payload», который генерирует полезную нагрузку xml в качестве словаря [здесь] (https://github.com/odero/django-pesapal/blob/master/django_pesapal/views.py) –
Данные в моем приложение доступно только после отправки формы, поэтому я создал новый метод update_view, который позволяет пользователю редактировать свои параметры еще раз. В том же шаблоне есть вкладка платежей с тележкой, и поскольку это представление обновления, данные элемента предварительно заполнены, поэтому отправку проще @Martin Hallén –