Добрый день! Возникла вот проблема при подключении этой платёжки. Не пойму, как получить OutSum
из поля.
Разработчик подставил туда просто число и всё. Соответственно, чтобы кто не вводил, всё равно получается, то что туда подставили (см. вьюшку).
Смотрел, как сделан пример, но у меня вьюшка немного другая.
Помогите, плз...
Модель:
class PayOrder(models.Model):
class Meta():
db_table = 'pay_order'
user = models.ForeignKey(User)
amount = models.DecimalField(default=0, max_digits=10, decimal_places=2)
currency = models.CharField(max_length=20, default="rubles")
timestamp = models.DateTimeField(auto_now_add=True)
description = models.CharField(max_length=700, blank=True, null=True)
payed = models.BooleanField(default=False)
Вьюшка:
@login_required
def userprofile(request, username):
extra_context = dict()
if request.POST:
user_form = UserForm(request.POST, instance=request.user)
user_profile = UserProfileForm(request.POST, request.FILES, instance=request.user.profile)
if user_form.is_valid():
user_form.save()
if user_profile.is_valid():
user_profile.save()
else:
user_form = UserForm(
instance=request.user,
initial={
'first_name': request.user.first_name,
'last_name': request.user.last_name,
'email': request.user.email,
})
user = request.user
profile = user.profile
user_profile = UserProfileForm(instance=profile)
extra_context['user_form'] = user_form
extra_context['user_profile'] = user_profile
extra_context['robo_form'] = RobokassaForm(initial={
'UserId': request.user.id,
'OutSum': 1000,
'InvId': struct.unpack(b'=H', urandom(2))[0],
'Email': request.user.email,
})
return render_to_response('profile.html', extra_context, context_instance=RequestContext(request))
А вьюшка в примере:
@login_required
def pay_with_robokassa(request, order_id):
order = get_object_or_404(Order, pk=order_id)
form = RobokassaForm(initial={
'OutSum': order.total,
'InvId': order.id,
'Desc': order.name,
'Email': request.user.email,
# 'IncCurrLabel': '',
# 'Culture': 'ru'
})
return render(request, 'pay_with_robokassa.html', {'form': form})