DataSprings Dynamic Registration Module (DR) provides an easy way to implement ARB into your portal by just dropping a few specifically named textbox fields (most of the hidden) on your registration page. This document and video will cover implementing a very basic registration page using the minimum required fields that authorize.net requires to set up an account.
I recommend getting a page with the minimum requirements working first before adding extra fields like billing startdate (trial), email, etc.
Other Notes before we begin:
1. I am assuming you already have a live authorize.net account with ARB capabilities. If you do not have ARB, you have to add that service to your account. At this time its $10 a month. I am not certain that ARB works with a developer account. I also did not try this in test mode. To test I set the amount to $1 and just cancelled the subscriptions as I tested.
2. DataSprings Registration 4.2 was used in this demo (currently in Beta with a scheduled release date of May 24th 2012).
3. It’s super helpful to make sure you have debug info being logged to the event log during development. This will help you find errors.
Here is the link to the video tutorial - http://www.youtube.com/watch?v=vvCuymywG-M
If you are familiar with how to set up other gateways with DR, forget everything you know J. This one is set up totally different. Rather than building a big string of values to submit under Module configuration, you are populating and/or giving very specific names to fields on your form.
To get a form with the most basic ARB set up create a form with the following fields. To get a working version first I recommend making all of these text fields, then once its working change the appropriate fields to hidden. I marked them with an underline.
Your basic registration fields (username,email, password,confirm password)
Authorized.NET ARB Required fields. This fields MUST have their short names exactly as below;
1. PGateway – default this to AuthARB. This tells DR to use the arb gateway.
2. AuthARB_UserLoginName – default this to your login name from authorize.net.
3. AuthARB_TransactionKey – default this to your transaction key generated fron authorize.net
4. AuthARB_BillToFirstName – assign this short name to your first name field on your form
5. AuthARB_BillToLastName - assign this short name to your Last name field on your form
7. AuthARB_CardNumber – assign this short name to your credit card field
9. AuthARB_SubscriptionID– (optional for Creating a subscription / Required for Cancel or Update of a subscription). When creating a subscription, this field will be stored within Dynamic Registration with the subscription ID when the subscription through ARB is created. If you are referencing a subscription type of “Cancel” or “Update” then this field should reference the existing subscription ID.
1. AuthARB_SubscriptionOccurrences – typically hide this field and default it to 9999 if you want your subscription to be ongoing. Note, I think in the official release DB will give it a 9999 if you leave this field off but for right now it is not optional.
2. AuthARB_Type – this is an optional field and if the field is left empty/not included by default this will default to “Create”. The other properties that it can be set to are “Update” and “Cancel”. Note: IF you are using “Update” or “Cancel” make sure you have a property called “AuthARB_SubscriptionID” with their subscription ID. You can map this to a DotNetNuke User Profile Field during registration with that short field name and the Subscription ID will be populated with that data.
3. AuthARB_Name – this is an optional field for Authorize.NET ARB that can be defaulted to the Portal Name if no properties are set for this field.
4. AuthARB_Email – this is an optional field for the billing email address
5. AuthARB_BillToAddress – this is an optional field for the billing address
6. AuthARB_BillToCity – this is an optional field for the billing city
7. AuthARB_BillToCompany – this is an optional field for the billing company
8. AuthARB_BillToState – this is an optional field for the billing state
9. AuthARB_BillToZip – this is an optional field for the billing postal code
10. AuthARB_ShipToAddress – this is an optional field for the billing postal code
11. AuthARB_ShipToCity– this is an optional field for the shipping city
12. AuthARB_ShipToState – this is an optional field for the shipping company
13. AuthARB_ShipToZip – this is an optional field for the shipping company
14. AuthARB_SubscriptionStartDate – this is an optional field for the subscription start date. If not start date is specified then the subscription start date will be the date of registration/creation of the subscription
15. AuthARB_SubscriptionIntervalLength – this is an optional field for the subscription interval length. If this field is not specified the default will be “1” for the interval length.
16. AuthARB_SubscriptionInterval – this is an optional field for the subscription interval. If this field is not specified the default will be “Month” for the interval, the other option for this field type is “Day”
Your completed form should look something like the image below.
Once you are done with the form you should be able to successfully create a subscription in authorize.net. For testing purposes I would simply set the transaction amount to $1 and then cancel the subscription in auth.net when I checked for success.
If you are not successful please check the debug log and check for any errors they sent there.