Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
How are subscription trials supposed to work?
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  2 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Tomas Neme  
View profile  
 More options Sep 12 2012, 4:04 pm
From: Tomas Neme <lacrymol...@gmail.com>
Date: Wed, 12 Sep 2012 17:03:57 -0300
Local: Wed, Sep 12 2012 4:03 pm
Subject: How are subscription trials supposed to work?
I've been reported a bug where when you buy a subscription with a
trial, even though the trial price shows in product page and cart, the
full price is shown in checkout, and is charged. I have confirmed the
display issue, not the payment, yet.

I've so far figured out that this is because while the product page
uses the product/detail_subscriptionproduct.html template, and this in
turn uses product.subscriptionproduct.recurring_price (which takes the
trial into account), the checkout template (that ends up being
shop/_order_details.html) knows nothing of subscription products and
shows just unit_price.

Moreover, this unit_price is not a Product thing, but rather an
OrderItem element, that gets filled in at order creation with,
apparently, the "wrong" data. Even if this was not the case, I see no
way for the Order to create a recurring billing from this data
(there's a link to the original Product, of course). So, I wonder..
how is this supposed to work? I assume I'm doing something wrong along
the path, but I can't pinpoint exactly what.

I'd also like an explanation on how does the system ensure people
don't get the same free trial multiple times.

Thanks
Tomas

--
"The whole of Japan is pure invention. There is no such country, there
are no such people" --Oscar Wilde

|_|0|_|
|_|_|0|
|0|0|0|

(\__/)
(='.'=)This is Bunny. Copy and paste bunny
(")_(") to help him gain world domination.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Tomas Neme  
View profile  
 More options Sep 13 2012, 3:17 pm
From: Tomas Neme <lacrymol...@gmail.com>
Date: Thu, 13 Sep 2012 16:17:10 -0300
Local: Thurs, Sep 13 2012 3:17 pm
Subject: Re: How are subscription trials supposed to work?
OK, so far I have discovered this.

The problem here is at the OrderItem level. The item gets first
created by the payment module, specifically by
payment.utils.update_orderitem and is created with the right price:
the trial price, and gets marked with the subscription details by a
call to payment.utils.update_orderitem_for_subscription.

This brings to my attention yet another problem here, which is the
high coupling level between the payment base app and a supposedly
"independant" product submodule. I have the feeling that this
processing should be delegated somehow to the product module, because
a 3rd party product module could also need to intervene in the
creation of the OrderItem objects.

But besides that point, the thing is that AFTER the original creation
of the OrderItem (right after, as a matter of fact) the call to
order.recalculate_total ends up in a call to this:

adjustment = get_product_quantity_adjustments(lineitem.product, qty=qty)

and this "adjustment" object ignores the subscription product, and
just uses the original product's price, so the Oreritem's price gets
updated to that.

Now, I really wonder, has really no one ever used this, and has gone
unnoticed for so long, or, more probably, am I doing something utterly
wrong and I haven't figured it out yet?

Tomas

--
"The whole of Japan is pure invention. There is no such country, there
are no such people" --Oscar Wilde

|_|0|_|
|_|_|0|
|0|0|0|

(\__/)
(='.'=)This is Bunny. Copy and paste bunny
(")_(") to help him gain world domination.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »