Express Tokenization

Document created by matthew.milner on May 10, 2016Last modified by Worldpay Developer Community Support Team on Jan 2, 2018
Version 4Show Document
  • View in full screen mode

Express Tokenization


Tokenization reduces the financial risk associated with storing sensitive cardholder data by eliminating the need for merchants to store the data at all.  Payment applications can create payment records on the Express server by initially providing the cardholder account number, expiration date, and other card information.  A unique identifier is then generated and provided to the business application. That identifier acts as a pointer for all subsequent transactions and can be stored.


Tokenization or Payment Account Secure Storage (PASS)

These methods are used to create, update, delete, and query payment data storage accounts. To learn more about each method, please refer to the Express Interface specification.





TheCreatemethod inserts a new payment account record.


TheUpdatemethod amends an existing payment account record.


TheDeletemethod removes an existing payment account record.


TheQuerymethod retrieves an existing payment account record.


Processing Tokenization Records as Payments (Transaction)

To process a transaction using Tokenization, the method of the transaction (e.g. CreditCardSale or CheckSale) is called.  However, instead of passing the card/account number and expiration information, the appropriate PaymentAccountID identifying the stored record is submitted.


Both Credit Cards and Checks can be processed using Tokenization technology. Note that PaymentAccountID’s (transaction setup IDs) can be charged across multiple AcceptorID’s (individual Merchant IDs) as long as each AcceptorID is set up under the same corporate AccountID for the merchant.


Recurring Transactions

Recurring transactions are a unique type of transaction where consumers authorize merchants or solution providers to bill a specific card on a regular basis (e.g. monthly membership fees).  Once merchants have scheduled a payment within their recurring billing system, the system submits the transaction details and a flag indicating that it is a recurring transaction, along with the previously-acquired pointer, to the Express processing platform.


Setting up recurring transactions consists of two parts:

Part 1:  Set Up Transaction: For the first transaction in the series, send in the same data as a normal sale transaction, which is Track Data for card present transactions, or Card Number, CVV, and AVS data for eCommerce and MOTO transactions.


Part 2:  Recurring Transactions: For all subsequent recurring transactions, send in the cardholder account number (not Track Data) as well as Billing Street and Zip Code data, and set the RecurringFlag to “true.”


Scheduled Transactions

Scheduled transactions can also be setup on Express. These are transactions that occur automatically without manual intervention from the merchant’s billing system, and include both recurring payments and one-time future payments.


CreditCardSale and CheckSale are the only methods that can be scheduled.


Scheduling a Task (Transaction)

To schedule a transaction, call the creation method of that transaction as you would normally do.  The only difference is you will also pass in the ScheduledTask object in the ExtendedParameters array of that method.


Note  Express will only schedule the transaction, it will not execute immediately.


When scheduling payment transactions, you may pass a PaymentAccountID for the payment information if you are already using Tokenization. If you choose to pass in the original card or payment information, Express will automatically create a PaymentAccount (Token) for you and store your payment data.  Once the Scheduled Task is created, you will be returned both a Scheduled Task ID as well as a Payment Account ID.


Scheduling Tasks with varying parameters

You may have a scenario where you want to vary the parameters on each method call, such as charging a cardholder a different amount each month.  In order to accomplish this, you would create multiple Scheduled Tasks with a Run Frequency of OneTimeFuture,: creating one task for each occurrence.  These tasks can be grouped together for reporting purposes by assigning the same ScheduledTaskReferenceNumber to all.


Editing / Updating a Scheduled Task

The only items that you can update on a Scheduled Task are the members of the ScheduledTask class.  You cannot update the actual method call parameters due to the complexity of parameters that get passed into the method.  If you wish to modify those, you must delete the task and create a new one with the appropriate parameters.


Reporting on the results of Scheduled Tasks

The ScheduledTaskQuery method can be used to report on the criteria in place for a particular task, as well as report on transactions that have already run based on that task.