Test Scenario of charging customers.
I run a Pay per click service for of my clients.
They give us a budget based on daily/weekly/monthly/yearly limit
basis based on which we setup their adwords profiles. For charging
the clients we are planing to use your cheddar getter Java API. So
far i have enrolled the customers,created plans,attached plans to
them but hadn't tried anything related to actual billing. Is it
possible to test the how billing scenario actually works in CG
using test credit card / a test merchant account or a paypal test
account so that i can take a look on how it will work for us.
Discussions are closed to public comments.
If you need help with Cheddar please
start a new discussion.
Keyboard shortcuts
Generic
? | Show this help |
---|---|
ESC | Blurs the current field |
Comment Form
r | Focus the comment reply box |
---|---|
^ + ↩ | Submit the comment |
You can use Command ⌘
instead of Control ^
on Mac
Support Staff 1 Posted by Marc Guyer on 10 Apr, 2013 12:34 PM
Hi Yashu -- While on the dev plan, all payments are simulated. You can test away with any email address for PayPal simulation and any credit card for CC simulation. You can even use a real credit card -- no numbers are stored and no money is transacted. If you'd rather, there are plenty of examples of "test" card numbers around the web. We like to use 4111111111111111 with any expiration and any CVV.
2 Posted by Yashu Tyagi on 11 Apr, 2013 02:30 PM
Thanks Marc for your reply ... your API is also working well in development mode and we are looking to have blowing up plan of your API.
Our plans will be of prepaid type having setup charge ,, we will firstly register the customer in our product and than will redirect to hosted web page where he can fill up his details. Now i have 2 question
1> When will the deduction take place from customer's credit card? i.e. the customer will only be redirected back when he fills out details and payment is deducted or user will be redirected immediately when his details form is validated?
2> What will happen if initial deduction is not successful. Will the customer be activated and subscribed to selected plan?
3 Posted by Dean on 11 Apr, 2013 08:10 PM
Hi Yashu,
I understand you'd like to bill on signup with a setup charge. To do this, you will need to gather payment information when the customer is created as this is when our system will need to bill the customer. Otherwise, you could not require payment on signup and delay the initial bill. Let me know what you'd like to do and we can figure out a solution.
The transaction will fire when the billDate time is reached. Then, it is up the the merchant account provider to withdraw and deposit the funds, but there is no way for us to know when this will happen. This process generally takes 2-3 days.
Are you asking if the transaction is unsuccessful? We will notify the customer via e-mail (you can customize this). Then, we will attempt to re-transact 4 times over the course of 8 days. Checkout our KB article on the dunning process.
Let me know if anything needs to be clarified, or if you have additional questions.
Cheers,
Dean
4 Posted by Dean on 11 Apr, 2013 08:30 PM
Yashu -- I also want to make sure you understand some things about this process to avoid some potential headaches down the road. If you haven't been informed already, you're going to need a merchant account provider to do your underwriting for you (we don't provide that). This is the only way to bill your customers via direct cc. I must say that it is not always easy to get underwriting in India either. But if you can somehow incorporate in the EU or US your odds will be much greater.
PayPal is always an option if you're unable to get underwriting soon as I'm sure you're eager to start billing customers.
5 Posted by Yashu Tyagi on 14 Apr, 2013 08:57 AM
Hello marc thanks for the concern.... we have started all the processes in parallel to get the things done in time....
I understand you'd like to bill on signup with a setup charge. To do this, you will need to gather payment information when the customer is created as this is when our system will need to bill the customer.
Yes .. I suppose the external hosted web page you provided will make sure that customer will fill have to fill his payment information if he wants to sign up for a prepaid plan... am I missing something????
To clear you up with flow what we are doing is as follows:-
Customer take a look at our product and pricing plans present(all prepaid and with set up charge)... he fills his basic details like name email etc and we will forward to an external hosted web page(testfc.chargevault.com) to fill out his credit card details...
what I want to know is what will happen if first or any further transaction is unsuccessful ... will customer be still created and subscribed to the plan or web page will send some response back in this case.
And one thing more can we customize the return url of external hosted web page by proving a parameter in request and external web page will return to same url as provided in request..
6 Posted by Dean on 15 Apr, 2013 04:03 PM
Yashu,
You're correct. Customers will enter their payment information if they select a paid plan which is billed on signup. Sorry for any unnecessary confusion here -- I wanted to make sure you understood when your customers will have to enter their CC info.
Checkout our KB article on the dunning process. If the payment form validates and submits, your customer will be subscribed to a plan. CG will then attempt to transact the first invoice. If the txn fails for any reason, CG will try again 4 times within the next 8 days. An e-mail notification is sent out after the first decline, informing the customer what happened. You can setup web-hooks to monitor these events.
The intention here is that your app already knows who the customer is based on a session or a cookie or something similar managed by your authentication routine. That way, your app knows who the person is no matter how they get to your app. Otherwise, there's a security issue.
Since you're app knows who the person is, you can pull anything from the API such as the status of that customer record in CG.
7 Posted by Yashu Tyagi on 30 Apr, 2013 10:27 AM
Hi Dean,
Q. My initial question still remains regarding the first invoice payment when a customer is added to a prepaid plan.
"If the payment form validates and submits, your customer will be subscribed to a plan. CG will then attempt to transact the first invoice."
When is the actual transaction made from the customers card?
and how do we get the status of the first transaction?
Q. If we wish to make adjustment for the remaining balance at the end of the billing period for a customer how do we do it?
Ex. Plan $300/- week, remaining balance in account $50, so billable amount should be $250 (300-50).
Q. Our service consists of 2 parts. Ex: the main service having plans for ($300, $400, etc) per week and the supplementary service which is optional for $50/- week. Do we need to subscribe a customer to 2 plans in this case or can we combine the 2 plans for those customers who choose the supplement also. Also how would the customers be billed recursively for both services?
Q. We would like to bill our customers on a particular day of week/month/year ( ex: Sunday of each week). So even if a customer subscribes to us on a Wednesday we would like to bill him on every Sunday. What is the solution for this?
Q. Also if a customer changes their plan in the middle of the week we would like them to be updated plan to be active and thus billed from the next billing date.
Is there an option which lets us choose when is a customer updated from next billing date or from the date of the change in other cases.
The reason for so much back and forth is that we want to be able to establish a process but we have not yet been able to fully understand the working of CG.
8 Posted by Dean on 30 Apr, 2013 03:44 PM
Hi Yashu -- Not a problem.
The actual movement of funds is determined by your payment processor, so you'll need to ask them for concrete answers. Withdrawals are usually made really quickly after a successful transaction in CG -- within a day or two, at most three. You can setup WebHooks to inform you when a transaction is issued . If you want to be notified of the first one, you can use
subscription[invoice][invoiceNumber]
and/or also check to see if it's the initial invoice withsubscription[invoice][isInitial]
.You can add a one-time credit to the invoice needing adjustment. Again, you can do this in the GUI or via the API.
No. You do not need to make a separate plan for the supplementary service. We built our Tracked Items system for situations like this when merchants need to do metered billing, add-on service (like yours), fulfillment, etc. Please have a look at these articles.
As the nature of recurring billing doesn't directly support this, we do not in our system. It's typically in everybody's best interest to spread load and billdates. However, you can change the billdate of any subscription to suit your needs.
I'm afraid I'm not sure what you're trying to achieve here. You can set a subscription to prorate on plan change, or not prorate.
Yashu -- I see you've selected the Native Gateway simulator in your test environment. Do you have a merchant account to bill your customers via direct cc? I don't want you to go down a long path of integration without having a billing solution in the works. I also see you're working with PayPal. How do you plan on billing customers when it's all said and done?
Cheers,
Dean
9 Posted by Yashu Tyagi on 01 May, 2013 11:32 AM
Hi Dean,
Thanks for asking. We would be setting up our merchant account with Authorise.net.
I'm afraid i still need a little bit of information:
Q. You said: "The actual movement of funds is determined by your payment processor, so you'll need to ask them for concrete answers."
My concern is regarding the confirmation of transfer of funds from the customers account. I'm not so concerned about the settlement of that to my account. I just need to know if the customers account was credited for the billed amount successfully.
Q. If a customer billing falls on May 02, when do we pass the information regarding the balance using the tracked items to CG?
10 Posted by Dean on 01 May, 2013 03:41 PM
I see. Are you able to incorporate in the U.S.? Authorize.net is US only.
I'm not sure I follow here. Please elaborate. Do you mean you need to know if a transaction was successful?
You can update the tracked items at any time before the billdate. It all depends on what you want to achieve.
11 Posted by Yashu Tyagi on 08 May, 2013 02:17 PM
Q. We would like to bill our customers on a particular day of week/month/year ( ex: Sunday of each week). So even if a customer subscribes to us on a Wednesday we would like to bill him on every Sunday. What is the solution for this?
As the nature of recurring billing doesn't directly support this, we do not in our system. It's typically in everybody's best interest to spread load and billdates. However, you can change the billdate of any subscription to suit your needs.
How we can change billdate of subscription? subscription denotes to Customer or plan?
My concern is regarding the confirmation of transfer of funds from the customers account. I'm not so concerned about the settlement of that to my account. I just need to know if the customers account was credited for the billed amount successfully.
I'm not sure I follow here. Please elaborate. Do you mean you need to know if a transaction was successful?
Yes, please elaborate. Also if possible please provide us a test credit card info for which the transaction will fail so we can test as to how this works.
12 Posted by Dean on 08 May, 2013 04:20 PM
You can manually change the billDate of a subscription in the GUI, or via the API. billDate can be overridden at any time. A customer can only be on one subscription at a time, but can switch subscriptions at any time. Plan is just the pricing plan you've configured.
If a transaction is successful, we will have that information in the customer record. Once billDateTime is reached on a subscription, we will fire the transaction and get a response. That response will be approved if successful. You can use the API and pull a customer to see this.
Example customer response: https://gist.github.com/marcguyer/660077#file_customers.xml. As you can see, approved transactions will have a node approved.
You'll want to take a look at this KB article on error simulation. In short, you can simulate errors and declines using specific aux codes as the test customer's billing zipcode. Use 9+AuxCode format (i.e. 9XXXX) If you want to simulate a declined transaction, for example, you would post a zipcode of 96000. You can find a list of all available aux codes here.
13 Posted by Yashu Tyagi on 09 May, 2013 10:23 AM
How we can change billdate of subscription? subscription denotes to Customer or plan?
You can manually change the billDate of a subscription in the GUI, or via the API. billDate can be overridden at any time. A customer can only be on one subscription at a time, but can switch subscriptions at any time. Plan is just the pricing plan you've configured.
Thanks for the help we got the option of changing the billDate for a customer. 1-We created a customer today with code 'TEST' and changed its billing date to 11-05-2013 but in response xml got the field 'nextInvoiceBillingDatetime to be '2013-05-16T09:38:00+00:00' but in UI its showing '11-05-2013'.
2- As now we have changed the billing to happen on saturday and plan is weekly basis so can we consider that this customer will be billed every saturday from now on under this plan as this is our final intention?
3. Also see attached file of another customer for which UI says :-
This subscription was canceled on 05/05/2013 due to a failure to pay for the subscription. Enter payment information to activate. but in xml received for that customer does not contain any error node as mentioned in kb article @https://support.cheddargetter.com/kb/api-8/error-handling#error-codes under heading 5.
4.If we want to add tracked items to an open invoice .. What is max time before which it can be done?
14 Posted by Dean on 15 May, 2013 02:02 PM
Continued at http://support.cheddargetter.com/discussions/questions/6041-need-to....
15 Posted by Yashu Tyagi on 16 May, 2013 12:49 PM
Please answer the second point:-
2- As now we have changed the billing to happen on saturday and plan is weekly basis so can we consider that this customer will be billed every saturday from now on under this plan as this is our final intention?
Regards
Yashu
16 Posted by Dean on 16 May, 2013 08:10 PM
Yashu -- Yes every subsequent bill will be on Saturday.
17 Posted by Yashu Tyagi on 17 May, 2013 04:12 PM
Hi dean,
Thanks for the reply. Please clarify the following points:
1. Though we were able to reassign the billing date for a subscriber(customer code: TEST) as mentioned above, but the billing for this new cycle never happened. It's scheduled to be billed on 11 of May. Our requirement is: We want to be able to align any new user to our monthly billing cycle (if user signs up on 15th of a month and we want to bill him on every 3rd) but this customer was not billed on the updated billing date.
18 Posted by Dean on 20 May, 2013 08:23 PM
Yashu -- I'm not sure why that 5/11 bill did not execute. Do you recall when and how you changed the billingDateTime for this customer's subscription?
19 Posted by Yashu Tyagi on 21 May, 2013 04:59 PM
Customer invoice was scheduled for 5/16 . I used subscription[changebilldate] on 5/09 to change the date to 5/11. Customer/edit_subscription call was used via java api. . I got no error in return xml. .
I have got some more errors few of them are on my other private thread.
One of the major is change email on hosted page during modify , its reflected nowhere.
Have you solved any other problems of ours as we are on last stage of our developement and want to be sure that all cases are covered when we go live.
Waiting for your response
Jess Pendley closed this discussion on 21 Nov, 2013 07:40 PM.