Currently, most ITPS transactions accept order information on a single page and return a response to the customer indicating that the transaction was successfully processed, or that it contained errors. If errors were detected, the customer must return to the entry screen, make corrections and resubmit the transaction. This is how the gift orders are currently handled.
The requirements for multiple gift processing require the ability to accept order information for several pages and the ability to add/modify/delete recipient information and modify donor information after it has already been entered. This will be handled by creating a session for each customer, similar to a shopping cart, which will hold information pertaining to the order until the customer is ready to submit it.
The initial entry page should contain form fields for the entry of donor and recipient information. More than one recipient may be entered on this initial page. The field names for donors are the same as they are currently for gift orders. Gift orders will now support the entry of more than one recipient on an input page. If input fields for only one recipient will be used, the tag names can be the existing ST tags that are currently used for gift orders (FullNameST, StreetAddressST, etc.). This is to allow backward compatibility with current gift order processing. If the input form will allow the entry of more than one recipient, the same fields can be used but with an index number appended (FullNameST1 for the 1st recipient's full name, FullNameST2 for the 2nd recipients full name, etc.). The syntax for the Salutation tag is Salutation1, Salutation2, etc., for each recipient ("ST" is not used since Salutation is specific to recipients).
Electronic Gift Cards are also available. These gift cards are sent via electronic mail and can use double-bar substitution and html. The donor can be allowed to customize the content of the Electronic Gift Cards for each donee by specifying the GcardSubject, GcardBody and GcardDeliveryDate. The iResponseGcard can be used instead of or in addition to the GcardBody. If iResponseGcard is specified the text entered into the GcardBody will be turned into a double-bar substitution variable (||gcardbody||). Two other special double-bar substitution tags are created when using iResponseGcard; ||gcardbackground|| and ||gcardpreview|| to enable previewing the gift card in custom replies. The donee tags (GcardSubject, GcardBody, GcardDeliveryDate, iResponseGcard, EmailAdrST) should all be suffixed with a number when specifiying more than one donee (just like the other ST tags). Within the response specified in iResponseGcard a special tag is available to substitue the suffix number of the donee (<index#>). Currently Electronic Gift Cards are limited to 2000 bytes in length.
In addition, a separate TermST tag should be used for each recipient's term (TermST1 for the 1st recipient's term, TermST2 for the 2nd, etc.). For backward compatibility, if the Term tag contains two terms, the second term will be used for the 1st recipient if a TermST1 tag is not supplied (ex. Term=12@12,12@15; the recipient's term would be 12@15).
If customized replies are desired, the web page designer should use the iResponse* or iClientResponse* hidden fields to indicate the custom reply to use. Otherwise generic default replies will be used. A single page could return one of several different replies to the customer, depending on what action was taken (request add recipients, request modify donor, etc.). The web page designer can customize replies for these actions by using the iResponseAddRecipient, iResponseModifyRecipient, iResponseModifyDonor, and iResponseConfirm tags for custom replies that are stored on the ITPS database; or iClientResponseAddRecipient, iClientResponseModifyRecipient, iClientResponseModifyDonor, iClientResponseConfirm for replies that are stored on an external website. See the Web Developer's Guide for more information on the syntax for these tags.
From the initial entry page, the customer can request to add more recipients or checkout/confirm. The page will be checked for errors and an error page will be displayed if any errors exist. Otherwise, the add recipients or confirmation page is displayed. ITPS will search for up to 50 recipients' form fields. To improve processing speed, the web designer should use the "numRecipients" hidden tag to indicate the maximum number of recipients to search for on the page. For example if numRecipients=3, ITPS will search for ST1, ST2, and ST3 fields only. If numRecipients is not coded, ITPS will search for ST1 through ST50 fields. On most custom replies the value of the numRecipients tag can be set using the ||numRecipients|| substitution variable. The initial entry page and the custom reply for adding more recipients should indicate the maximum number of recipients that could be entered on the page. A recipient entry is considered blank if the fullname, address, supplemental address, and business supplemental address fields are ALL blank. Otherwise, it is assumed that the customer has attempted to enter information for that recipient. It will be created and checked for errors.
The initial entry page will allow the entry of donor and recipient information and should have buttons to checkout or confirm or to add more recipients.
Custom or default replies will be used to:
The total order amount can be displayed on the order confirmation page using the ||OrderTotal|| substitution variable. If no more modifications are necessary, the confirmation page should have entry fields for payment information. Once the order is submitted and successfully processed, the session will be terminated to free up resources on our application server. If the customer uses the browser's back button to return to the confirmation page and make further modifications, an error page will be displayed indicating that the session has timed out. Sessions are automatically terminated by the application server after 30 minutes of inactivity.
Processing options that are supplied on the initial entry page will be valid throughout the entire session, whether custom replies contain that processing option or not. However, any processing options that are coded on a custom reply will replace that processing option for the remainder of the session. For example, if iResponseConfirm=DEMO.confirm1 is coded on the initial entry page, confirm1 will be used for the confirmation page from the add recipients page, the modify recipients page, etc., whether these custom replies actually code that processing option or not. However, if the add recipients page is displayed to the customer and it contains iResponseConfirm=DEMO.confirm2, confirm2 will now be used as the confirmation page. The following tags will be valid for the entire session, unless specifically replaced as described above:
DoCCAuth, DoCCDigitCheck, and DoThirdParty should be coded on the confirmation page only.
Required tags for gift order processing should be entered on the initial entry page and/or custom reply pages. See the Web Developer's Guide for additional optional tags that are allowed for gift orders.
Donor fields:
Recipient fields: (# indicates a separate index number for each recipient)
The following tags were added to support processing for multiple gift orders:
The following tags were added to support processing for Electronic Gift Cards:
Special double-bar substitution variables and tags for use with Electronic Gift Cards:
New custom reply substitution variables
New custom reply processing control tags
<loop count=#> where # is the number of times code between the loop tags should be repeated
<loop#> gets replaced with the actual loop iteration number when the custom reply is generated
</loop> indicates the end of the loop
Currently, multiple loops and nested loops are not supported in custom replies.
Actions can be set using JavaScript code on form buttons' onClick attributes. See examples for more detail.
Example with Electronic Gift Cards
Example with Electronic Gift Cards html
|
Custom Reply Type |
Custom Reply Source |
Generated HTML |
Generated HTML Source |
|
Confirm/Checkout |
|||
|
Add Recipients |
|||
|
Modify Recipient |
|||
|
Modify Donor |
Custom Replies with Electronic Gift Cards
|
Custom Reply Type |
Custom Reply Source |
Generated HTML |
Generated HTML Source |
|
Confirm/Checkout |
|||
|
Add Recipients |
|||
|
Modify Recipient |
|||
|
Modify Donor |