Extended data in payments or credits

Some payment plug-ins require extra protocol data or keywords to communicate with a back-end system. This extra protocol data called extended data is in addition to the standard attributes defined in the PaymentInstruction definition. Extended data is any data other than the currency, amount of the payment instruction, and the payment method name. For example, credit card number, expiration, and billing address are extended data.

Collecting extended data

Extended data is collected in the following ways:

  • JSP snippets for a particular payment method

    For example, a JSP snippet can collect credit card information such as the credit card number, expiration date, and expiration year. The electronic check payment method would use a different set of keywords that would include a check number and a check routing number.

  • Plug-in deployment descriptor file.

    If the value of extended data is the same for all payment transactions using the plug-in, (for example, host name of the payment server). Then, configure the plug-in deployment descriptor file. See Payment plug-in specification

    Use the protocol parameters in the ExtendedData class to supply your own back-end system definitions so that all information related to a PaymentInstruction can be passed to the plug-in. For example, use cc_brand for Credit Card and check_routing_number for Check. In addition, if your plug-in has specific needs during the invocation of the checkPaymentInstruction or validatePaymentInstruction methods, the plug-in can add specific keywords that the Payment plug-in controller can store and use in subsequent transactions against the PaymentInstruction. For example, keywords can be added to represent information generated or obtained by the plug-in, such as random IDs, or external data queried by the plug-in.

Editing extended data

Use the WebSphere Commerce Accelerator to add, edit, or delete extended data for payment instructions, pending payments or credit transactions. The extended data for a payment instruction lists both the common protocol keywords and unique keywords required for a payment method. This list corresponds to the list of keywords found in the JSP snippet supporting the payment method.

Optional parameters for all payment methods

order_id
The order unique identifier. The order_id can be null when it is a refund instruction. If order_id is not provided, then rma_id must be provided.
rma_id
The return merchandise authorization identifier. If an rma_id is not provided, then an order_id must be provided.

Required parameters for all payment methods

For all the payment methods, a "payMethodId" is required. Also, you are strongly recommended to pass a "policyId" parameter from the store front. This is a very useful parameter for order processing.

Required parameters when using Address Verification Service (AVS)

To make use of the AVS feature, you should pass a "billing_address_id" parameter, or five parameters that combine to provide this information together. Namely, these are "billto_firstname", "billto_lastname", "billto_address1", "billto_city", and "billto_stateprovince".

Paymentech specific

Unless specified, these attributes are optional.

paymethodId
[ brand ]. This is a required attribute.
account
The credit card number. This is a required attribute.
expire_year
The expiration year of the account. This is a required attribute.
expire_month
The expiration month of the account. This is a required attribute.
expire_day
The expiration day of the account
billto_firstname
The account holder's first name
billto_middlename
The account holder's middle name
billto_lastname
The account holder's last name
billto_address1
The bill to street address 1
billto_address2
The bill to street address 2
billto_address3
The bill to street address 3
billto_city
The bill to city
billto_stateprovince
The bill to state or province
billto_zipcode
The bill to Zip code
billto_country
The bill to country (ISO 3166 numeric code)
billto_phone_number
The bill to phone number
cc_brand
The credit card brand. This is a required attribute.
cc_cvc
The card verification code
cc_nameoncard
The name on the card (cardholder). This is a required attribute.
cc_cavv
Cardholder Authentication Verification Value
cc_xid
Transaction Identifier
billto_telephonetype
The bill to telephone type
billto_telephonenumber
The bill to telephone number
cc_cardsecuritypresence
The card security presence

Credit card specific

payment_method
[ brand ]
account
The credit card number. This is a required attribute.
expire_year
The expiration year of the account. This is a required attribute.
expire_month
The expiration month of the account. This is a required attribute.
expire_day
The expiration day of the account
billto_firstname
The account holder's first name
billto_middlename
The account holder's middle name
billto_lastname
The account holder's last name
billto_address1
The bill to street address 1
billto_address2
The bill to street address 2
billto_address3
The bill to street address 3
billto_city
The bill to city
billto_stateprovince
The bill to state or province
billto_zipcode
The bill to Zip code
billto_country
The bill to country (ISO 3166 numeric code)
billto_phone_number
The bill to phone number
cc_brand
The credit card brand
cc_cvc
The card verification code
cc_nameoncard
The name on the card (cardholder)
CAVV
Cardholder Authentication Verification Value
XID
Transaction Identifier

Electronic Check specific

payment_method
Check
account
The gift certificate/card (stored value) number
billto_firstname
The account holder's first name
billto_middlename
The account holder's middle name
billto_lastname
The account holder's last name
billto_address1
The bill to street address 1
billto_address2
The bill to street address 2
billto_address3
The bill to street address 3
billto_city
The bill to city
billto_stateprovince
The bill to state or providence
billto_zipcode
The bill to zip code
billto_country
The bill to country (ISO 3166 numeric code)
billto_phone_number]
The bill to phone number
check_routing_number
The unique identifier of the bank; in US, the American Bankers Association (ABA) routing number. This is a required attribute.
check_number
The check number. This is a required attribute.

Gift Certificates (GCt), Gift Cards (GCd) and Stored value (SV) cards in general

payment_method
[ storedValue | giftCertificate | giftCard ]
account
The gift certificate/card (stored value) number
expire_year
The expiration year of the account
expire_month
The expiration month of the account
expire_day
The expiration day of the account
sv_issue_year
The year the card/certificate was issued
sv_issue_month
The month the card/certificate was issued
sv_issue_day
The month the card/certificate was issued
sv_issuer
The name of the company/organization issuing the card/certificate

Cash on deliver (COD) or Bill me later

payment_method
[ COD | BillMeLater]
billto_firstname
The account holder's first name
billto_middlename
The account holder's middle name
billto_lastname
The account holder's last name
billto_address1
The bill to street address 1
billto_address2
The bill to street address 2
billto_address3
The bill to street address 3
billto_city
The bill to city
billto_stateprovince
The bill to state or province
billto_zipcode
The bill to zip code
billto_country
The bill to country (ISO 3166 numeric code)
billto_phone_number
The bill to phone number

Credit Line or Line of Credit

payment_method
creditLine
account
The credit line account