Test Scenario of charging customers.

Yashu Tyagi's Avatar

Yashu Tyagi

09 Apr, 2013 07:32 AM

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.

  1. Support Staff 1 Posted by Marc Guyer on 10 Apr, 2013 12:34 PM

    Marc Guyer's Avatar

    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. 2 Posted by Yashu Tyagi on 11 Apr, 2013 02:30 PM

    Yashu Tyagi's Avatar

    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. 3 Posted by Dean on 11 Apr, 2013 08:10 PM

    Dean's Avatar

    Hi Yashu,

    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?

    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.

    What will happen if initial deduction is not successful. Will the customer be activated and subscribed to selected plan?

    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. 4 Posted by Dean on 11 Apr, 2013 08:30 PM

    Dean's Avatar

    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. 5 Posted by Yashu Tyagi on 14 Apr, 2013 08:57 AM

    Yashu Tyagi's Avatar

    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. 6 Posted by Dean on 15 Apr, 2013 04:03 PM

    Dean's Avatar

    Yashu,

    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????

    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.

    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.

    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.

    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..

    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. 7 Posted by Yashu Tyagi on 30 Apr, 2013 10:27 AM

    Yashu Tyagi's Avatar

    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. 8 Posted by Dean on 30 Apr, 2013 03:44 PM

    Dean's Avatar

    Hi Yashu -- Not a problem.

    When is the actual transaction made from the customers card? and how do we get the status of the first transaction?

    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 with subscription[invoice][isInitial].

    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).

    You can add a one-time credit to the invoice needing adjustment. Again, you can do this in the GUI or via the API.

    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?

    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.

    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.

    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.

    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. 9 Posted by Yashu Tyagi on 01 May, 2013 11:32 AM

    Yashu Tyagi's Avatar

    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. 10 Posted by Dean on 01 May, 2013 03:41 PM

    Dean's Avatar

    I see. Are you able to incorporate in the U.S.? Authorize.net is US only.

    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?

    Q. If a customer billing falls on May 02, when do we pass the information regarding the balance using the tracked items to CG?

    You can update the tracked items at any time before the billdate. It all depends on what you want to achieve.

  11. 11 Posted by Yashu Tyagi on 08 May, 2013 02:17 PM

    Yashu Tyagi's Avatar

    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. 12 Posted by Dean on 08 May, 2013 04:20 PM

    Dean's Avatar

    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.

    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.

    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. 13 Posted by Yashu Tyagi on 09 May, 2013 10:23 AM

    Yashu Tyagi's Avatar

    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. 14 Posted by Dean on 15 May, 2013 02:02 PM

    Dean's Avatar
  15. 15 Posted by Yashu Tyagi on 16 May, 2013 12:49 PM

    Yashu Tyagi's Avatar

    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. 16 Posted by Dean on 16 May, 2013 08:10 PM

    Dean's Avatar

    Yashu -- Yes every subsequent bill will be on Saturday.

  17. 17 Posted by Yashu Tyagi on 17 May, 2013 04:12 PM

    Yashu Tyagi's Avatar

    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. 18 Posted by Dean on 20 May, 2013 08:23 PM

    Dean's Avatar

    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. 19 Posted by Yashu Tyagi on 21 May, 2013 04:59 PM

    Yashu Tyagi's Avatar

    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

  20. Jess Pendley closed this discussion on 21 Nov, 2013 07:40 PM.

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

Recent Discussions

28 Mar, 2024 10:45 PM
24 Jan, 2024 08:33 AM
11 Jan, 2024 07:13 AM
30 Nov, 2023 02:07 AM
22 Nov, 2023 08:41 AM