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 our 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, we 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