This manual will guide you through the integration process that makes your website and Allied Wallet function as one. Integration involves implementing our APIs. APIs, application programming interfaces, are source code-based specifications that are intended to be used by software components that enable the components to communicate.
Implementing Allied Wallet’s Payment API will enable you to process your online transactions without as much tedious legwork. After our API codes are inserted you’ll be able to submit and process shopping cart and subscription transactions.
Our Payment API invokes an HTTP POST that initiates requests to Allied Wallet. Allied Wallet’s POST can be implemented into any web-programming language or even a simple web page.
Allied Wallet makes it easy. But if you find the API process a little overwhelming, don’t worry. Contact a representative and we will perform the integration for you at NO ADDITIONAL CHARGE.
1. Required Information
Before you will be able to submit live transactions to Allied Wallet, you will need an Allied Wallet merchant account for your website. Upon establishing an Allied Wallet merchant account, you will be provided a Merchant ID and a Site ID. These IDs uniquely identify your websites, customers, and payments. If you haven’t applied for a merchant account you can do so at:
https://sale.alliedwallet.com/index.aspx
2. Subscriptions
If you wish to offer subscriptions on your website, you will also need Allied Wallet to configure your subscription groups. The group configuration will set the levels, pricing, and terms for your subscriptions.
For example, you may have a standard subscription that costs $19.95 per month and a premium subscription that costs $99.99 per quarter. Allied Wallet will configure the two different groups so that your customers will be automatically rebilled at the end of each term period.
After Allied Wallet configures your subscription groups, you will need the URL to POST transactions to. The URL for HTML form posts is:
https://sale.alliedwallet.com/index.aspx
In order to POST your customers’ payments to Allied Wallet, you must include these fields. Please note the required fields and the optional fields and add accordingly:
Field | Description | Type | Required/Optional |
---|---|---|---|
MerchantID | Merchant Reference ID supplied by Allied Wallet. | String | Required |
SiteID | A Site Reference ID supplied by Allied Wallet for each site. | Sting | Required |
AmountShipping | The total amount for shipping.This amount must be added to the item purchase price in the AmountTotal field. This field must be completed and will be “0” for subscription purchases. |
Decimal | Required |
AmountTotal | Total amount of shopping cart or subscription items in transaction.This number will be verified by Allied Wallet before the transaction can be completed.
NOTE: This field must be completed and may be “0” for subscription purchases if you wish to allow your customers to select their subscription option. |
Decimal | Required |
CurrencyID | Standard ID for the currency type you are collecting.Common types accepted by Allied Wallet are: • USD – US Dollars • GBP – British Pounds • EUR – Euros • CAD – Canadian Dollars |
String | Required |
DeclineReturnURL | The URL you want the customer to return to if the transaction was declined. | String | Optional |
ReturnURL | The URL you want your customers to return to after they have completed their purchase. | String | Required |
ConfirmURL | URL on your site that takes all postbacks from Allied Wallet and sends them to this URL. | Sting | Optional |
CurrencyID | Standard ID for the currency type you are collecting.Common types accepted by Allied Wallet are: • USD – US Dollars • GBP – British Pounds • EUR – Euros • CAD – Canadian Dollars |
String | Required |
ItemAmount[n] | The TOTAL amount of the nth product in the shopping cart, n represents the number of items in the shopping cart, starting with 0.This amount consists of the unit cost of the product, multiplied by the quantity.
For example: If a product costs $5 and three are being ordered, 15.00 should be the value in this field. |
Decimal | Required For Shopping Cart |
ItemDesc[n] | The description of the nth product in the shopping cart, n represents the number of items in the shopping cart starting with 0. | String | Required For Shopping Cart |
ItemName[n] | The quantity of the nth product in the shopping cart, n represents the number of items in the shopping cart starting with 0.The quantity must be at least 1 or an error will be returned. | Sting | Required For Shopping Cart |
MemberUsername | Username of the subscriber.This field allows you to control membership account creation from your own site. | String | Optional for Membership |
MerchantReference | Reference generated by the merchant to correlate the purchase to the Allied Wallet transaction.This value is returned to the merchant complete page query string (URL). | String | Optional |
NoMembership | Indicator whether a membership or subscription is required.If this value is > 0, the user will NOT be prompted to purchase a subscription. | Integer | Required |
PriceID | Pricing identifier supplied by Allied Wallet for a subscription price and term.If the PriceID is not supplied, Allied Wallet will allow the customer to choose from the available ones. | Integer | Required for Membership |
RequireShipping | Indicator whether shipping is required.Online subscription and service purchases typically do not require shipping.
If this value is > 0, then the customer will be prompted for shipping information. |
Integer | Optional for Shopping Cart |
ShowUserNamePassword | Indicator whether member information is displayed.If this value is > 0, then the username and password will be displayed. Username and password will be displayed by default. | Integer | Required for Membership |
Address | Billing Address | String | Optional |
Address2 | Billing Address2 | String | Optional |
City | Billing city | String | Optional |
County | Billing 2-character country code | String | Optional |
FirstName | Billing first name | String | Optional |
LastName | Billing last name | String | Optional |
Billing Email address | String | Optional | |
PostalCode | Billing postal code | String | Optional |
State | Billing state | String | Optional |
3. Configuring Your Site – Example Forms
To process payments, you’ll need to add two web pages to your site. First, you’ll need to add the purchase form page. This page will initiate the Allied Wallet payment process. Next, you’ll need to add a purchase complete page. Your customers will be returned to this page after successfully completing a purchase.
3.1. Purchase Form
You can include the purchase form on any page(s) on your site that is/are capable of posting information to Allied Wallet. You’re welcome to use any standard web-programming language, even HTML. You can construct the purchase forms to allowing recurring subscriptions and products.
Here are examples of a subscription and shopping cart form:
3.2. HTML Subscription Form
The following form includes all of the necessary information you’ll need to include for a subscription form. This will allow your customers to purchase subscriptions on your site:
<html> <head> <title>Subscribe to Our Website</title> </head> <body> <h1>Subscribe to Our Website</h1> <p>Buy a subscription to our site.</p> <form name="test" method="post" action="https://sale.alliedwallet.com/quickpay.aspx"> <input name="MerchantID" type="hidden" value="0000000-0000-0000-0000-00000000000"> <input name="SiteId" type="hidden" value="0000000-0000-0000-0000-00000000000"> <input name="AmountTotal" type="hidden" value="0.00" > <input name="Address" type="hidden" value="8100 E Indian School" > <input name="CurrencyID" type="hidden" value="USD"> <input name="AmountShipping" type="hidden" value="0"> <input name="NoMembership" type="hidden" value="0"> <input name="GroupID" type="hidden" value="107"> <innput name="ReturnURL" type="hidden" value="http://www.yoursite.com/success.html" /> <input name="MerchantReference" type="hidden" value="PBI"> <input type="hidden" name="ShowUserNamePassword" value="0" /> <input type="hidden" name="MemberUserName" value="UniqueName123456489" /> <input type="hidden" name="MemberPassword" value="UniquePassword123456789" /> <input type="submit" value="Buy Now - Subscription"> </form> </body> </html>
The HTML form above includes the “MerchantReference” field which is optional. This field can be used to correlate the Allied Wallet purchase transaction data with data from your website application.
After including the proper forms, your website and/or programmer will need to furnish your site with a front-end purchase form that matches your site.
You can include additional fields in the form to provide membership subscription Group IDs and Pricing IDs. See the field reference in the last section.
3.3. HTML Shopping Cart Form
Your shopping cart form can be included in simple HTML for single-item purchases on your website. The following form includes the script necessary for single-item purchases:
<html> <head> <title>Buy our T-Shirt</title> </head> <body> <h1>Buy Our T-Shirt</h1> <p>Single item purchase form.</p> <form method="post" action="https://sale.alliedwallet.com/quickpay.aspx"> <!-- *** Required fields for AlliedWallet --> <input name="MerchantID" type="hidden" value="0000000-0000-0000-0000-00000000000" /> <input name="SiteID" type="hidden" value="0000000-0000-0000-0000-00000000000" /> <input name="AmountTotal" type="hidden" value="17.99" /> <input name="CurrencyID" type="hidden" value="USD" /> <input name="AmountShipping" type="hidden" value="7.99" /> <input name="ShippingRequired" type="hidden" value="1" /> <input name="ItemName[0]" type="hidden" value="T-Shirt" /> <input name="ItemQuantity[0]" type="hidden" value="1" /> <input name="ItemAmount[0]" type="hidden" value="10.00" /> <input name="ItemDesc[0]" type="hidden" value="Our T-Shirt" /> <input name="NoMembership" type="hidden" value="1" /> <input name="ReturnURL" type="hidden" value="http://oursite.com/complete.htm" /> <input name="ConfirmURL" type="hidden" value="http://oursite.com/confirm.htm" /> <!-- *** Optional fields for AlliedWallet --> <input name="MerchantReference" type="hidden" value="abc123" /> <input name="submit" type="submit" /> </form></body> </html>
The form above will submit a transaction to purchase a single item for $10.00 plus $7.99 for shipping. See how the AmountTotal is equal to the ItemAmount + AmountShipping.
4. Complete Page
The ‘Complete Page’ can be any page on your website. The page will welcome the customer back after they complete their purchase. Here, you can provide any additional information regarding their product or subscription purchase (i.e. shipping information, subscription activation, etc.).
The URL of the ‘Complete Page’ is supplied by your page or application in the ReturnURL field.
After a customer has completed their purchase, Allied Wallet will load the designated ‘Complete Page’ which will contain a transaction ID and merchant reference. For example, if you provided the following ReturnURL in your purchase form:
http://oursite.com/complete.html
Allied Wallet would complete the transaction and return the customer to the
following URL:
http://oursite.com/complete.html?TransactionID=67890123-cdef&MerchantReference=abc123
5. Confirm Page
After a customer has successfully completed a transaction, Allied Wallet will post the transaction details onto a page that you designate on your site. This page should validate and store the transaction information in your database. The ‘Confirm Page’ should provide communication between Allied Wallet and your application. The page does not need to provide user functionality.
The URL of the ‘Confirm Page’ must be a valid page on your website or application, then placed in the ConfirmURL field. If a URL is not supplied or does not point to a valid page on your site, the transaction will not be completed successfully. If you do not wish to save transaction details and information, the page can be a blank HTML page.
Information posted to the ‘Confirm Page’ is posted as standard HTTP Post name-value pairs (NVP) separated by ampersands (&). An example of a confirm post reads:
Amount=17.99&MerchantReference=abc123&PayReferenceID=b9ab260b-d690-4507-8d56-8bd92c4c132a&
TransactionID=4cfdefc3-6ad2-49de-a25b-5d0f41e8cd1a
6. Membership Postback
If your website is a subscription or membership site, you can elect to have Allied Wallet post subscriber/membership event information to a designated page on your website. If you wish to receive membership postback events, you must provide Allied Wallet merchant support with a postback URL. After receiving the postback URL, Allied Wallet will provide you with a postback key for validating Allied Wallet postback events.
Subscriber events posted to your website can include:
Add
- A new customer has completed a subscription purchase
- An account is created for your website
Cancel
- A customer has cancelled their subscription to your site
Deactivate
- You have deactivated a customer’s subscription via merchant terminal
Password
- A customer’s subscription account password has changed
The following fields are transmitted by Allied Wallet in a membership postback event.
Field | Description | Type | Postback Events |
---|---|---|---|
Username | Subscriber Username | Sting | Add, Cancel, Deactivate, Password |
Subscriber Email Address | String | Add, Cancel, Deactivate, Password | |
FirstName | Subscriber First Name | String | Add, Cancel, Deactivate |
LastName | Subscriber Last Name | String | Add, Cancel, Deactivate |
MemberID | Subscriber unique ID assigned by Allied Wallet | String | Add, Cancel, Deactivate, Password |
TransactionID | Transaction that prompted the subscriber change | String | Add, Cancel |
Password | Subscriber password | String | Add, Cancel |
GroupID | ID for the payment group assigned to the site | Integer | Add |
PriceID | ID for the payment assigned to the site | Integer | Add |
Action | Type of request post.Values are: – Add – Cancel – Deactivate – Password |
String | Add, Cancel, Deactivate, Password |
Key | Encryption key assigned by Allied Wallet | String | Add, Cancel, Deactivate, Password |
Fields are transmitted in name-value pairs (NVP).
After your membership page receives a post from Allied Wallet, your page must transmit an acknowledgement response. The response is a colon-delimited string containing status and a message. The status must be “0” if the post failed and “1” if it was successful. If it failed, the message must contain a description of the error.
An example of a successful acknowledgement string reads:
1:success
An example of an unsuccessful acknowledgement string reads:
0:user does not exist
7. Confirm Postback Fields
Upon successful completion of a transaction and if the ConfirmURL is supplied, an HTTP POST is performed to the page.
Field | Description | Type |
---|---|---|
Amount | Total amount of shopping cart or subscription items in transaction | Decimal |
MerchantReference | Reference generated by the merchant to correlate the purchase to the Allied Wallet transaction. | String |
PayReferenceID | The ID of the transaction in the Allied Wallet merchant system. | String |
TransactionID | The ID of the transaction in the Allied Wallet sale application. | String |
Extra1 | Extra Form Field | String |
8. Simplified Integration Steps
To complete integration, simply create a subscription form or a shopping cart form as exemplified below:
8.1. Subscription
<html> <head> <title>Subscribe to Our Website</title> </head> <body> <h1>Subscribe to Our Website</h1> <p>Buy a subscription to our site.</p> <form name="test" method="post" action="https://sale.alliedwallet.com/quickpay.aspx"> <input name="MerchantID" type="hidden" value="0000000-0000-0000-0000-00000000000"> <input name="SiteId" type="hidden" value="0000000-0000-0000-0000-00000000000"> <input name="AmountTotal" type="hidden" value="0.00" > <input name="CurrencyID" type="hidden" value="USD"> <input name="AmountShipping" type="hidden" value="0"> <input name="NoMembership" type="hidden" value="0"> <input name="PriceID" type="hidden" value="107"> <innput name="ReturnURL" type="hidden" value="http://www.yoursite.com/success.html" /> <input name="MerchantReference" type="hidden" value="PBI"> <input type="hidden" name="ShowUserNamePassword" value="0" /> <input type="hidden" name="MemberUserName" value="UniqueName123456489" /> <input type="hidden" name="MemberPassword" value="UniquePassword123456789" /> <input type="submit" value="Buy Now - Subscription"> </form> </body> </html>
Please note to change the following values to the values provided by Allied Wallet:
- Merchant ID
- Site ID
- Price ID
8.2. Member Management URL
You must create a URL on your site that takes Allied Wallet postback events and processes them on your member management system (i.e. .htaccess file or database).
Create a page that takes each value in an http post:
PHP Example:
<?php $yourvalue=$_POST(“MerchantReference”); //etc for all values you want ?>
ASP Example:
<%response.write(request.form("MerchantReference"))%>
9. Shopping Cart Integration
The most important thing to remember when using the shopping cart is making sure each of your product arrays (Item[n]) and shipping (if used) add up to the AmountTotal.
Here is a working example:
<input name="AmountShipping" type="hidden" value="0" /> <input name="ItemName[0]" type="hidden" value="ItemName" /> <input name="ItemQuantity[0]" type="hidden" value="1" /> <input name="ItemAmount[0]" type="hidden" value="11.00" /> <input name="ItemDesc[0]" type="hidden" value="Item Description" /> <input name="AmountTotal" type="hidden" value="11.00" />
Here is a non-working example:
<input name="AmountShipping" type="hidden" value="1.00" /> <input name="ItemName[0]" type="hidden" value="ItemName" /> <input name="ItemQuantity[0]" type="hidden" value="1" /> <input name="ItemAmount[0]" type="hidden" value="12.00" /> <input name="ItemDesc[0]" type="hidden" value="Item Description" /> <input name="AmountTotal" type="hidden" value="11.00" />
9.1. We are currently integrated with:
- ACE cart
- AgoraCart
- VirtueMart
- CubeCart
- Magento
- OSCommerce
- Xcart
- Zencart
10. Transaction Postback
We also offer a Transaction PostBack URL. The Transaction Postback URL is a page that you create on your site that will receive postbacks on EVERY transaction.
Below is the list of all Postback Fields:
10.1. Payment Postback Fields
Field | Description | Type |
---|---|---|
Action | Action=Payment | String(20) |
TransactionID | Guid | |
Amount | Decimal | |
MerchantReference | String(50) | |
CurrencyID | String() | |
SiteID | Guid | |
TransactionState | 0=Sale1=PreAuth | Integer |
Extra1 | String(500) | |
Extra2 | String(500) | |
Sale | 0=False1=True | Integer |
FirstName | String(64) | |
LastName | String(64) | |
Address | String(64) | |
Address2 | String(64) | |
City | String(30) | |
State | String(30) | |
Country | String(2) | |
PostalCode | String(10) | |
Phone | String(16) | |
String(150) | ||
Additional Fields If Member Created | ||
MemberID | Integer | |
Username | String(100) | |
Password | String(100) | |
PriceID | Integer |
10.2. Capture Postback Fields
Field | Description | Type |
---|---|---|
Action | Action=Capture | String(20) |
TransactiondID | Guid | |
CaptureAmount | Decimal | |
MerchantReference | String(50) | |
SiteID | Guid | |
CurrencyID | String(3) | |
Extra1 | String(500) | |
Extra2 | String(500) | |
dditional Fields If Member Created | ||
MemberID | Integer | |
Username | String(100) | |
Password | String(100) | |
PriceID | Integer |
10.3. Void Post Back Fields
Field | Description | Type |
---|---|---|
Action | Action=Void | String |
TransactionID | Guid | |
MerchantReference | String(50) | |
SiteID | Guid | |
Amount | Decimal | |
CurrencyID | String(3) | |
Extra1 | String(500) | |
Extra2 | String(500) | |
Additional Fields If Member Created | ||
MemberID | Integer | |
Username | String(100) | |
Password | String(100) | |
PriceID | Integer |
10.4. Chargeback Postback Fields
Field | Description | Type |
---|---|---|
Action | Action=Chargeback | String |
TransactionID | Guid | |
ReasonCode | Code Provided by Visa, Mastercard | String(10) |
Reaspm | Reason Provided by Visa, Mastercard | String(100) |
MerchantReference | String(50) | |
SiteID | Guid | |
ChargebackAmount | Decimal | |
CurrencyID | String(3) | |
Extra1 | String(500) | |
Extra2 | String(500) | |
Additional Fields If Member Created | ||
MemberID | Integer | |
Username | String(100) | |
Password | String(100) | |
PriceID | Integer |
10.5. Refund Postback Fields
Field | Description | Type |
---|---|---|
Action | Action=Refund | String(20) |
TransactionID | Guid | |
MerchantReference | String(50) | |
SiteID | Guid | |
RefundAmount | Decimal | |
CurrencyID | String(3) | |
Extra1 | String(500) | |
Extra2 | String(500) | |
Additional Fields If Member Created | ||
MemberID | Integer | |
Username | String(100) | |
Password | String(100) | |
PriceID | Integer |
10.6. Rebill Postback Fields
Field | Description | Type |
---|---|---|
Action | Action=Rebill | String(20) |
TransactionID | Guid | |
OMerchantReference | Original Merchant Reference submitted for the member during signup. | String(50) |
TransactionState | 0=Sale1=PreAuth | Integer |
PriceID | Integer | |
Amount | Decimal | |
CurrencyID | String(3) | |
MemberID | Integer | |
UserName | String(100) |
11. Test Card Information
You can use the following information to run test transactions on your site and review your purchase in your payment gateway. This is a great tool to review your self-integrated storefront to safeguard your site from errors.
- CC# 4242424242424242
- EXP 10/14
- CVV: 123
12. Congratulations
After you have completed the process as detailed in this manual, your integration is ready for review and you are one step closer to processing payments with Allied Wallet. Fill out the form bellow to alert Allied Wallet compliance that you have completed the integration of your Allied Wallet QuickPay APIs.