PX Batch Processor V4.0 Test

The Payment Express Batch Processor is designed to process input files containing credit card payment information for authorisation. The Batch Processor connects directly to the Payment Express web server using HTTPS posts. Input files are processed on the central batch processor at Payment Express and the output is returned.

Technical Specifications/ Features:

  • Input file An Input file is placed into a chosen directory where it will automatically be detected and processed e.g. INPUT.CSV
  • Output file An Output file is created containing the original transaction and the result for that transaction e.g. INPUT_OUT.CSV
  • Duplicate Batch Check Check to ensure the same file is not processed twice
  • Shared Network Input Directory The input directory defined for an instance of the Batch Processor does not have to reside on the local machine, it can be a shared network folder.
  • Batch Processor via Web Proxy The Batch Processor software can be configured to work through a web proxy.

Requirements/Downloads:

Installation:

Access the Payment Express Batch Processor download at https://sec.paymentexpress.com/pxmi/logon

Once you have downloaded the software and extracted its contents you should have an MSI file called "PxBat4.msi". Executing the PxBat4.msi file prompts a straight forward five stage installation wizard. The default install directory is "C:\Program Files\Direct Payment Solutions\PxBat4\".

Files

The following files are installed in the Batch Processor installation directory during installation.

Note: an additional file (LOGON.DAT) file will be generated when the username and password is setup.

Service

The following service is installed during installation.


Installing Multiple Instances of Batch Processor on a Single Machine

In the case where multiple instances of Batch Processor need to be installed side-by-side on one machine, the first instance should be installed via the PxBat4.msi and the remaining instances manually by copying PxBat.exe and PxBatConfig.exe from the original PxBat4 folder (within C:\Program Files\Direct Payment Solutions\, if the default destination is used) and then pasted into separate directories, with one set of copies per new instance of Batch Processor required.

As illustrated by the composite image above, the new copies of PxBat.exe need to be renamed. The renaming should use the format PxBat_NEWLABEL.exe (where _NEWLabel is the addition to the filename), as when the new instance of PxBat is installed as a service the appended label (_NEWLABEL in this example) will be used as the default addition to the service display name (see below). In the composite image displayed above, the directory renaming matches the .exe renaming, this isn't necessary, but isn't a bad convention to adhere to. Once the additional instances of PxBat have been copied to new directories and renamed, they can be setup and run as services.

To setup an additional instance of PxBat as a service, do the following:

Within a command prompt, navigate to the same directory as the PxBat.exe file of the instance to be setup as a service.

Execute the command: nameofexecutable install (e.g. PxBat_2.exe install). This will create a new service that corresponds to this instance of PxBat.

Shared Network Input Directory

The input directory defined for an instance of PxBat does not have to reside on the local machine, it can be a shared network folder. The user that will be logged in when the instance of PxBat is expected to be running will need access to the shared network directory. Once access is obtained, that shared network directory can be defined as the input directory for the instance of PxBat by entering the network path of the directory into the directory field within PxBatConfig.exe.

Requirements/Downloads:

Configuration

To configure an instance of PxBat, run the corresponding PxBatConfig.exe file.

When run, PxBatConfig.exe while bring up a GUI, as depicted below:

General Options

Directory This is the directory path for the input directory that this instance of PxBat will monitor for batch files. For an instance of PxBat installed via PxBat4.msi this value will default to installation directory whereas in manually installed instances it will be empty. Refer to "Setting Up a Shared Network Directory as Input Directory" section for details on using a shared network directory as the defined input directory.Default: C:\Program Files\Direct Payment Solutions\PxBat4.
Journal If checked a journal of all processed batch files will be kept in a text file within the program's folder. Default: Checked.
Output to SubDirectory If checked all output files are written to a 'PROCESSED' directory within the defined input directory. If the 'PROCESSED' directory does not exist it is created. If this option is unchecked all output files are written into the defined input directory. Default: Not checked.
Duplicate Batch Check If checked duplicate filename checking is enabled and no file will be processed if a file with the same filename has been previously processed by the central batch processor. This filename checking is bounded by Group within PXMI (which is an important fact to remember if multiple instances of PXBat are being used by a customer). Note that this checking is NOT bounded by time so if they wish to use a batch file naming convention that repeats every particular time unit (day month etc.) they will need to append some sort of counter to the filename (such as the date) otherwise they will get file duplication errors when they attempt to reuse filenames.Default: Checked.
File Ext This value defines the file extension of target batch files that this instance of PXBat will monitor for within the defined input directory e.g. if set to '.vol' PxBat will treat any file within the defined input directory with the '.vol' extension as a batch file that should be processed. Default: '.csv'.

Transaction Options

YYMM Expiry Date If checked PxBat will interpret expiry dates within submitted batch files in YYMM format not MMYY. Default: Not checked (date format for expiry dates is MMYY).
DDMMYYYY Settlement If checked PxBat will output AcquirerDate and DateSettlement dates in DDMMYYYY format where DD is Day or month MM is month 01-12 and YYYY is year. Default: Not checked (dates output in YYYYMMDD format).
Quote Suffix For Numeric Fields If checked appends a single quote (') to numeric fields like Card Number. This prevents Microsoft Excel etc. from interpreting such fields as a number value (which causes corruption of the value if the file is later saved by Excel). Default Not Checked.
DPS BillingId If checked a DpsBillingId can be used for recurring billing purposes. If unchecked you can use your own BillingId for token billing transactions. Default: Not checked.
LF Line Terminator If the batch files that will be submitted to this instance of PxBat use a CSV format that uses LF (Line Feed) terminators instead of plain CRs (carriage returns) then option should be checked. Default: Not checked.
Currency If this value is set it must match the value defined by the Port referenced by submitted batch files. If this value is left unset the currency will by defined by the Port referenced by submitted batch files. Default: Unset.
Field Delimiter This value dictates the field delimiter (either comma or tab characters) that this instance of PxBat will expect to be used within the batch files submitted. Default: Comma.

Set Logon

The Batch Processor username and password can be defined by selecting the "Set Logon" button. The username and password defined for an instance of PxBat are stored in encrypted form within the LOGON.DAT file in the program's directory.

File Format

Input File Format

Input File format is CSV (Comma Separated Value), Excel style. Each line of the file represents an authorisation, purchase, completion or refund request and has the following format:

TxnType,Account,MerchantReference,CardNumber,Expiry,Amount,DpsTxnRef,CPC,

CardHolderName

Field Parameter Description
1 TxnType Transaction type that you would like to send. Can be Purchase Refund Tipping or Billing type transactions. Valid values are 'A'=Auth 'C'=Completion 'P'=Purchase 'R'=Refund 'V'=Validate 'B'=Bill
2 Account Payment Expressaccount number. Values can be 0-9999 depending upon account to settle to.
3 MerchantReference Free transaction reference field. E.g.: booking reference order reference or invoice number.
4 CardNumber/BillingId/ Card Number. Note - must be followed by a single ' character if this file is loaded and saved using Microsoft Excel spreadsheet. DpsBillingId
5 ExpiryDate Card Expiry Date in MMYY format. Some acquirers do not require this field - contact Payment Express for more details. Also not required if BillingId/DpsBillingId is used.
6 Amount Amount in d.cc format e.g. $1.23 would be 1.23
7 PreAuthNumber/DpsTxnRef Either PreAuthNumber or DpsTxnRef (Preferred) needs to present for completion requests to match against original authorisation. DpsTxnRef will also need to be present for Refund transactions to match the original Purchase Completion or Billing transaction.
8 CPC Corporate Purchase Card transactions. Extended data which will appear on corporate cardholders statements if your merchant account supports it.
9 CardHolderName Cardholder Name if known.

Sample Input Record Format

P,9997,Ref1,4111111111111111,1010,1.23,,,TEST NAME1

The above input line describes a Purchase transaction for account 9997, Merchant Reference "Ref1",card number 4111111111111111, Expiry Date February 2001, amount $1.23, PreAuthNumber blank,reserved valu blank, Card holder name is "TEST NAME1". Additional data (if present is ignored and is not written to output file. Trailing single quotes (') or double quotes (") are ignored. These should be included to prevent the cardnumber etc being interpreted as decimal values by Excel. IE: cardnumber should be input as 4111111111111111' not 4111111111111111.

Output File Format

Input File format is CSV (Comma Separated Value), Excel style. The original filename is used with the suffix "_OUT" appended to the original name. The file type .CSV is preserved. Each line of the file represents an authorisation, purchase, completion or refund result and has the following format:

TxnType,Account,MerchantReference,CardNumber,ExpiryDate,Amount,DpsTxnRef(Input),

CPC,CardHolderName,Result,ResponseCode,ResponseText,DpsTxnRef(Output),

AcquirerDate,AcquirerTime,AuthCode

If the output file name already exists (IE: if the same input file name is used before the original output file is deleted), then a date stamp is appended after the _OUT suffix. In this case, the output filename is INPUT_OUTyyyymmddhhmmss.CSV

Field Parameter Description
1 TxnType Transaction type that you would like to send. Can be Purchase Refund Tipping or Billing type transactions. Valid values are 'A'=Auth 'C'=Completion 'P'=Purchase 'R'=Refund 'V'=Validate 'B'=Bill
2 Account Payment Express account number. Values can be 0-9999 depending upon account to settle to.
3 MerchantReference Free transaction reference field. E.g.: booking reference order reference or invoice number.
4 CardNumber/BillingId/ Card Number. Note - must be followed by a single ' character if this file is loaded and saved using Microsoft Excel spreadsheet DpsBillingId
5 ExpiryDate Card Expiry Date in MMYY format
6 Amount Amount in d.cc format e.g. $1.23 would be 1.23
7 PreAuthNumber/ Either PreAuthNumber or DpsTxnRef (Preferred) needs to present for completion requests to match against original authorisation. DpsTxnRef will also need to be present for Refund transactions to match the original Purchase Completion or Billing transaction. DpsTxnRef
8 CPC Corporate Purchase Card transactions. Extended data which will appear on corporate cardholders statements if your merchant account supports it.
9 CardHolderName Cardholder Name if known.
10 Result Success of the transaction. 0=declined/failed 1=accepted
11 ResponseCode 2 character response code e.g.: "00"
12 ResponseText Text associated with response code. E.g.: "ACCEPTED"
13 AuthCode Authorisation (Approval) code if accepted.
14 DpsTxnRef Payment Express' unique transaction reference of the new transaction
15 AcquirerDate YYYYMMDD
16 AcquirerTime HHMMSS
17 DateSettlement YYYYMMDD

Sample Output Record Format

P,0,Ref1,"4988720008880035",0102,133.20,,345,A J CARDHOULD,1,00,ACCEPTED,886453,

100035REF1,19990912,180922,19990912

The above output line describes a Purchase transaction for account 0, reference "Ref1", card number 4988720007770035, Expiry Date January 2002, amount $133.20, CVC2 value 345, Card holder name is "A J CARDHOULD", Result is 1 (approved), ResponseCode is "00", Text is ACCEPTED, TxnRef is 100035REF1, Date is 12th Sep 1999, Time is 6:09:22pm, Approval Code is 886453 and Date of Settlement is 12 Sept 1999

Batching Scenarios

Purchase Transactions

Input Sample

P,9997,Reference,4111111111111111,1010,1.23,,,TEST NAME

Output Sample

P,9997,Reference,4111111111111111,1010,1.23,,,TEST NAME,1,00,APPROVED,031507,0000000300a7a5e9,20050311,031507,20050311

Note: The DPSTxnRef (0000000300a7a5e9) that can be used later for refund transactions is highlighted in the output.

Refund Transactions using DPSTxnRef

(Version 3.32 & above only)

Input Sample

R,9997,Reference,,,1.23,0000000300a7a5e9,,TEST NAME

Output Sample

R,9997,Reference,,,1.23,0000000300a7a5e9,,TEST NAME,1,00,APPROVED,032042,0000000300a7a5ea,20050311,032042,20050311

Note: The DpsTxnRef is highlighted above. This value is given as the output in the original purchase, complete or billing transaction. All refund transactions need to be matched with the original transaction.

Authorisation Transactions

Input Sample

A,9997,Reference,4111111111111111,1010,1.23,,,TEST NAME

Output Sample

A,9997,Reference,4111111111111111,1010,1.23,,,TEST NAME1,1,00,APPROVED,00113400a7a5c400000003,0000000300a7a5e9,20050307,001134,

20050307

Note: The Pre-Authorisation code (00113400a7a5c400000003) is given back and can be used to complete transactions.

Note: The DpsTxnRef (0000000300a7a5e9) is given back and is the preffered method for matching the completions.

Completion Transactions using Pre-Auth number

Input Sample

C,9997,Reference,,,1.23,03471400a7a5eb00000003,,TEST NAME

Output Sample

C,9997,Reference,4111111111111111,1010,1.23,03471400a7a5eb00000003,,TEST NAME,1,00,APPROVED,035204,0000000300a7a5ed,20050311,035204,20050311

Note: The Pre-Auth Number is highlighted above. This value was given as the output from the original authorisation transaction.

Completion transactions using DPSTxnRef

(Version 3.32 & above only)

Input Sample

C,9997,Reference,,,1.23,0000000300a7a5e9,,TEST NAME

Output Sample

C,9997,Reference,4111111111111111,1010,1.23,0000000300a7a5e9,,TEST NAME,1,00,APPROVED,001314,0000000300a7a5c5,20050307,001314,20050307

Note: The DpsTxnRef is highlighted above. This value was given as the output from the original authorisation transaction. A further DpsTxnRef is given back in the completion response and is unique to the complete transaction and would be used to match a refund against the transaction

Billing Transactions using BillingID

Input Sample

B,9997,Reference,00000000022367439876215729745683,,1.23,,,TEST NAME

Output Sample

B,9997,Reference,00000000022367439876215729745683,,1.23,0000000300a7a5e9,,TEST NAME,1,00,APPROVED,001314,0000000300a7a5c5,20050307,001314,20050307

Note: On the Setup tab of the PXBAT control panel the check box named "DPS BillingId" needs to be unchecked.

Note: The BillingId used here was 00000000022367439876215729745683

Billing transactions using DpsBillingID

(Version 3.32 & above only)

Input Sample

B,9997,Reference,0000000000518077,,1.23,,,TEST NAME

Output Sample

B,9997,Reference,0000000000518077,,1.23,,,TEST NAME,1,00,APPROVED,104753,00000004010486cd,20050614,104753,20050614

Note: On the Setup tab of the PXBAT control panel the check box named "DPS BillingId" needs to be checked.

Note: The DpsBillingId used here was 0000000000518077

Adding billing cards

(Version 3.46 & above only)

To add a billing card to the Billing Vault and receive a token for subsequent billing purposes you will use a different message format. A format specifier, "X0006", must appear as the first field in every record. Valid TxnTypes are "P", which processes a purchase transaction and stores the card details, "A", which processes an authorisation transaction and stores the card details, and "H", which simply stores the card details without processing a financial transaction.

X0006, TxnType, Operation, Account, Merchant Reference, Card Number, Expiry, Amount, Issue Number, Card holder name, Billing ID

The Billing ID field can be left blank if you intend to obtain and use the DpsBillingId only. For "H" transaction type use an amount of "1.00" which will be disregarded as no financial transaction takes place.

Input Sample

X0006,H,Add,9997,create token 1,4111111111111111,1010,1.00,,C HOLDER,billingID1

Output Sample

X0006,H,Add,9997,create token 1,4111111111111111,1010,1.00,,C HOLDER,billingID1,1,,ADDED,0000050000000019,,,,

The output format has the following properties in addition to the input message -

Authorized (1 or 0), ReCo, Response Text, DpsBillingId, DpsTxnRef, Date, Time, DateSettlement

AVS Transactions

Address verification uses a different file format. The following should be used for the AVS message format and the format specifier "X0003" must appear as the first field in every record.

X0003, TxnType, Account, Merchant Reference, Card Number, Expiry, Amount, PreAuth/DpsTxnRef, Card holder name, Issue Number, AVS Enable, AVS Action, AVS Street Address, AVS Postal Code

Input Sample

X0003,Purchase,9997,merchant reference,4111111111111111,1010,1.00,,C HOLDER,,1,1,123 Elm St,9001

Output Sample

X0003,Purchase,9997,merchant reference,4111111111111111,1010,1.00,,C HOLDER,,1,1,123 Elm St,9001,1,00,APPROVED,A1,MI23286266799FEA,20080707,121844,20080708

The output format has the following properties in addition to the input message -

Authorized (1 or 0), ReCo, Response Text, Authorization Code, DpsTxnRef, Date, Time, DateSettlement

Airline Transactions

(Version 3.44 & above only)

Airline data uses a different file format. The following should be used for the airline data message format and the format specifier "X0004" must appear as the first field in every record.

X0004, TxnType, Account, Merchant Reference, Card Number, Expiry, Amount, PreAuth/DpsTxnRef, Card holder name, Issue Number, EnablePaxInfo, Passenger Name, Ticket Number, Travel Agent Info, Origin, Leg 1 Destination, Leg 2 Destination, Leg 3 Destination, Leg 4 Destination, Leg 1 Carrier, Leg 2 Carrier, Leg 3 Carrier, Leg 4 Carrier, Leg 1 Departure Date, Leg 2 Departure Date, Leg 3 Departure Date, Leg 4 Departure Date, Leg 1 Departure Time, Leg 2 Departure Time, Leg 3 Departure Time, Leg 4 Departure Time, Leg 1 Service Class, Leg 2 Service Class, Leg 3 Service Class, Leg 4 Service Class, Leg 1 Stopover Code, Leg 2 Stopover Code, Leg 3 Stopover Code, Leg 4 Stopover Code, Leg 1 Fare Basis, Leg 2 Fare Basis, Leg 3 Fare Basis, Leg 4 Fare Basis, Leg 1 Flight Number, Leg 2 Flight Number, Leg 3 Flight Number, Leg 4 Flight Number

Input Sample

X0004,Purchase,9997,merchant reference,4111111111111111,1010,1.00,,C HOLDER,

,1,Mr John Smith,08144886622110,Booking ABABAB,HKG,AKL,LHR,KUL,SFO,NZ,NZ,NZ,

NZ,01/06/08,02/06/08,03/06/08,04/06/08,1100,1200,1300,1400,C,C,C,C,O,O,O,X, AF,BF,CF,DF,1001,1002,1003,1004

Output Sample

X0004,Purchase,9997,merchant reference,4111111111111111,1010,1.00,,C HOLDER

,,1,Mr John Smith,08144886622110,Booking

ABABAB,HKG,AKL,LHR,KUL,SFO,NZ,NZ,NZ,NZ,01/06/08,02/06/08,03/06/08,04/06/08,

1100,1200,1300,1400,C,C,C,C,O,O,O,X,AF,BF,CF,DF,1001,1002,1003,1004,1,00,

APPROVED,A00002,MI20283191AD2AD4,20080423,121021,20080424

The output format has the following properties in addition to the input message -

Authorized (1 or 0), ReCo, Response Text, Authorization Code, DpsTxnRef, Date, Time, DateSettlement

Airline and AVS Transactions

(Version 3.44 & above only)

Airline data can be submitted in conjunction with AVS data. The following should be used for the airline data/AVS message format and the format specifier "X0005" must appear as the first field in every record.

X0005, TxnType, Account, Merchant Reference, Card Number, Expiry, Amount, PreAuth/DpsTxnRef, Card holder name, Issue Number, AVS Enable, AVS Action, AVS Street Address, AVS Postal Code, EnablePaxInfo, Passenger Name, Ticket Number, Travel Agent Info, Origin, Leg 1 Destination, Leg 2 Destination, Leg 3 Destination, Leg 4 Destination, Leg 1 Carrier, Leg 2 Carrier, Leg 3 Carrier, Leg 4 Carrier, Leg 1 Departure Date, Leg 2 Departure Date, Leg 3 Departure Date, Leg 4 Departure Date, Leg 1 Departure Time, Leg 2 Departure Time, Leg 3 Departure Time, Leg 4 Departure Time, Leg 1 Service Class, Leg 2 Service Class, Leg 3 Service Class, Leg 4 Service Class, Leg 1 Stopover Code, Leg 2 Stopover Code, Leg 3 Stopover Code, Leg 4 Stopover Code, Leg 1 Fare Basis, Leg 2 Fare Basis, Leg 3 Fare Basis, Leg 4 Fare Basis, Leg 1 Flight Number, Leg 2 Flight Number, Leg 3 Flight Number, Leg 4 Flight Number

The output format has the following properties in addition to the input message -

Authorized (1 or 0), ReCo, Response Text, Authorization Code, DpsTxnRef, Date, Time, DateSettlement

Message Field Properties

Account (input) Max 4 characters

Accounts with Payment Express can be setup with multiple merchant numbers. This field can be used to specify which merchant number should be used to process the transaction. Allowed values range between 0-9999. If only one merchant account has been setup this value will usually be 1 for a live account. And 9997 for a development account. Please contact Payment Express to confirm the value that should be used in this field.

AcquirerDate (output) Max 8 bytes

Contains the date the transaction was processed in YYYYMMDD format. This field may be blank if the transaction was rejected locally or otherwise not processed by the bank host.

AcquirerTime (output) Max 8 bytes

Contains the date the time of the day the transaction was processed in HHMMSS format. This field may be blank if the transaction was rejected locally or otherwise not processed by the bank host.

Amount (input) Max 13 characters

Set the amount to be charged or refunded (depending on the TxnType). Format is d.cc (d=dollars, c=cents). Max amount is 99999.99

AVS Post Code (output) Datatype: BSTR Max 20 bytes

Address Verification System property. Post Code that is listed on the customer's bank statement.

AVS StreetAddress (output) Datatype: BSTR Max 60 bytes

Address Verification System property. Address that is listed on the customer's bank statement.

AVS Action (output) Datatype: INT Max 1 bytes

Address Verification System property. Values are 0,1 & 2.

0 - do not check AVS details with acquirer, but pass them through to Payment Express only.

1 - Attempt AVS check. If the acquirer doesn't support AVS or is unavailable, then transaction will proceed as normal. If AVS is supported it will check the transaction and give the result.

2 - The transactions needs to be checked by AVS, even if isn't available, otherwise the transaction will be blocked.

The value will most likely be 1 for most circumstances.

BillingId (input) Max 32 characters

This is an identifier generated by the merchant application that is used to identify a customer or billing entry and can be used as input instead of card number and date expiry for subsequent billing transactions.

CardHolderName (output) Max 64 characters

The cardholder name as it appears on customer card.

CardNumber (input) Max 20 characters

The card number. No leading or embedded blanks are permitted. Must contain a numeric value.

Corporate Purchase Card (input) Mandatory 30 characters

Amex Corporate Purchase Card transactions. Extended data, which will appear on corporate cardholders statements if your merchant account supports it. This field needs to be exactly 30 characters, with the first character being an "A". The CPC field contains 2 corparate purchase card reference fields, with the 1st 9 characters after the "A" belonging to Corporate Purchase Card data 1 and the last 20 characters of the CPC input field belonging to Corporate Purchase Card data 2. You will need to pad if your reference is shorter than the required field length.

Example - P,9997,Reference,4111111111111111,1010,1.23,,A4387436 Payment March ,TEST NAME

DateExpiry (input) Max 4 bytes

Indicates card expiry date. Format is MMYY where MM is month 01-12 and Year 00-99. do not insert "/" or other delimiter. Some acquirers do not require this field - contact Payment Express for more details. Also not required if BillingId/DpsBillingId is used.

DateSettlement (output) Max 8 bytes

Indicates Date of settlement (when money will be deposited in Merchant bank account) if this is supported by the Acquirer, otherwise contains the date the transaction was processed in YYYYMMDD format.

DpsTxnRef (input/output) Max 16 Characters

Returned for every transaction. If the transaction was approved, DpsTxnRef can be used as input to a Refund or Completion transaction for other Payment Express products. Used to specify a transaction for refund without supplying the original card number and expiry date. The DpsTxnRef value returned by the original approved Auth transaction must be supplied also when doing a complete transaction.

DpsBillingId (input) Max 16 Characters

When output, contains the Payment Express generated BillingId. Only returned for transactions that are requested by the application with the EnableAddBillCard value set to 1 (true) indicating a token billing entry should be created.

MerchantReference (input) Max 32 Characters

Free text to appear on transaction reports.

ResponseText (output) Max 20 Characters

The Response Text is associated with ResponseCode. For successful transactions this is usually Approved and for unsuccessful transactions this can be a number of texts depending on why the transaction declined. For example it could be Card Expired, Declined, Invalid Card, REFER TO CARD ISSUER, DO NOT HONOUR. All acquirers have their own response texts and should be displayed for better understanding of why the transaction got declined.

ResponseCode (output) Max 2 characters

2 character response code from the bank. Explanation of the ResponseCode is usually provided in the ResponseText.

Result (output) Boolean true/false

Indicates success or failure of the transaction. 1 for successful and 0 for an unsuccessful transaction.

TxnType (input) Max 1 Character

Value Description
P Purchase
R Refund
A Auth
C Completion
V Validate
B Bill