Request Parameters

API Reference: Pay

See the following sections for descriptions of Pay request parameters:

For Pay sample code, see Pay.

pay

Parent: root

The pay element is required, and it has the following attributes:

ParameterFormatRequirementDescription
accountStringOptionalThe number for a sub-account with which a payment transaction is associated. The account ID is an integer greater than 100000 and account number is an integer smaller than 1000.

If merchants do not provide this parameter, the payment transaction is associated with the default sub-account.
client-idIntegerRequiredThe unique ID of a merchant.

transaction

Parent: root: pay

The transaction element is required, and it has the following attributes:

ParameterFormatRequirementDescription
idIntegerRequiredThe CellPoint Digital ID of the transaction.
store-cardBooleanRequiredIf set to true, you are requesting to store the card in Velocity's vault.

card

Parent: root: pay: transaction

The card element is required, and it has the following attribute:

ParameterFormatRequirementDescription
type-idIntegerRequiredThe type of payment method used for a transaction.

For Apple Pay: A unique transaction identification number.

amount

Parent: root: pay: transaction: card

The amount element is required, and it has the following attributes:

ParameterFormatRequirementDescription
country-idIntegerRequiredThe CellPoint Digital-specific country code for the transaction's currency. This is available in Reference.
currency-idIntegerOptionalThe CellPoint Digital-specific country currency code for the transaction's currency. This should be the ISO 4217 numeric code.

The amount element has the following text content:

ParameterFormatRequirementDescription
amountIntegerRequiredThe total amount a customer is charged for a payment transaction in the specified country’s smallest currency.

For example, the smallest currency of USD is the penny. If the transaction amount is $120.30, then the text content of amount is 12030.

token

Parent: root: pay: transaction: card

The token element is required for Wallet transactions, and it has the following text content:

ParameterFormatRequirementDescription
tokenStringConditional Requirement: Required for Wallet transactions.The base64 encoded cryptogram or session URL received from a third-party wallet such as Apple Pay.

Not applicable to Installment payments.

issuer-identification-number

Parent: root: pay: transaction: card

The issuer-identification-number element is required for Installment transactions, and it has the following text content:

ParameterFormatRequirementDescription
issuer identification numberIntegerConditional Requirement: Required for Installment transactions.The issuer identification number.

Only applicable to Installment payments.

hmac

Parent: root: pay: transaction

The hmac element is required, and it has the following text content:

ParameterFormatRequirementDescription
HMACStringRequiredThe Message Authentication Code (MAC). It is calculated by creating a SHA-512 hash comprising the input fields in the order listed in the Message Authentication Code table in Reference.

MAC calculation secures the information sent by the merchant to Velocity by applying the SHA-512 encryption algorithm on key parts of the information sent to protect against tampering. The "salt" is the merchant's shared secret string used to ensure that MAC is unique.

Note: CellPoint Digital provides the salt value to merchants.
Conditional parameters in the Message Authentication Code table are optional if not provided in request; if the conditional parameters are present in request, they are mandatory here.

billing-address

Parent: root: pay: transaction

The billing-address element is required, and it has six children: full-name, street, city, postal-code, state, and contact-details.

The billing-address element has the following attribute:

ParameterFormatRequirementDescription
country-idIntegerRequiredThe CellPoint Digital-specific country code for the country in the customer's billing address. This is available in Reference.

The full-name child element has the following text content:

ParameterFormatRequirementDescription
full nameStringRequiredThe full name of the customer.

The street child element has the following text content:

ParameterFormatRequirementDescription
street addressStringRequiredThe full street address in the customer's billing address, including street name and street number.

The postal-code child element is optional, and it has the following text content:

ParameterFormatRequirementDescription
postal codeStringOptionalThe postal code in the customer's billing address.

The city child element has the following text content:

ParameterFormatRequirementDescription
cityStringRequiredThe name of the city in the customer's billing address.

The state child element has the following text content:

ParameterFormatRequirementDescription
stateStringConditional Requirement: Required if the country in the customer's address is divided into states.The state in the customer's billing address. Customers enter this parameter only if the country in their address is divided into states.

contact-details

Parent: root: pay: transaction: billing-address

The contact-details element is a child element of billing-address, and it is required for Payu and SafetyPay transactions. The contact-details element has two children: mobile and email.

The mobile element has the following attributes:

ParameterFormatRequirementDescription
operator-idIntegerOptionalThe ID of a customer’s mobile network operator. CellPoint Digital recommends including this parameter in a request to ensure that Velocity interacts with the operator accurately.
country-idIntegerConditional Requirement: Required for Payu and SafetyPay transactions.The CellPoint Digital-specific country code for country of mobile, which is made available to merchants on request.

The mobile element has the following text content:

ParameterFormatRequirementDescription
mobile numberIntegerConditional Requirement: A mobile number can be mandatory or optional, based on the requirement of a merchant or a PSP.The MSISDN of a customer without International Dialing Code.

The email element has the following text content:

ParameterFormatRequirementDescription
email addressStringConditional Requirement: Email can be mandatory or optional, based on the requirement of a merchant or a PSP.The customer's email address. If your customer provides this parameter, the 'Email' input field on the 'Send E-Mail Receipt' page is automatically populated with this value.

installment

Parents: root: pay: transaction

The installment element is required for installment payments, and it has one child: value.

The value child element has the following text content:

ParameterFormatRequirementDescription
valueIntegerConditional Requirement: Required for installment payments.The value of the current installment payment.
Applicable to installment payments.

additional-data

Parents: root: pay: transaction

Note the following:

  • The additional-data element is required for Payu and SafetyPay transactions, and it can have multiple param children.

  • Each param child element has:

    • one attribute, and

    • text content defined by that attribute.

The table below describes the possible attribute values and their associated text content.

AttributeAttribute ValueRequirementText Content FormatText Content Value
nametax_id_typeConditional Requirement: Required for Payu and SafetyPay transactions.StringThe document type used to provide a tax ID. See Reference for possible values.
nametax_idConditional Requirement: Required for Payu and SafetyPay transactions.IntegerThe customer's tax ID from the document specified in tax_id_type.

auth-token

Parent: root: pay

The auth-token element is optional, and it has the following text content:

ParameterFormatRequirementDescription
authorization tokenStringOptionalA unique token sent to the specified auth-url to authenticate customers when they pay with a stored card and use single sign-on.
Not applicable to Installment payments.

client-info

Parent: root: pay

The client-info element is required, and it has the following attributes:

ParameterFormatRequirementDescription
languageStringRequiredThe language that Velocity uses as default when translating the payment pages.

Note: Velocity language codes are based upon the ISO- 639-1 standard.

Refer to http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes for details.
platformStringRequiredThe platform from which the request is sent. For example, web, iOS, Android, B2B, or B2C.
sdk-versionStringOptionalThe version of SDK used to send the request.

Note: Use 2.1.0 SDK version in the request.
versionStringRequiredThe version of the API or application sending the request.
profileidOptionalThe merchant-specific profile ID for the client.

Applicable to installment payments.

mobile

Parent: root: pay: client-info

The mobile element here can be mandatory or optional, based on the requirement of a merchant or a PSP. It has the following attributes:

ParameterFormatRequirementDescription
operator-idIntegerOptionalThe ID of a customer’s mobile network operator. CellPoint Digital recommends including this parameter in a request to ensure that Velocity correctly interacts with the operator.
country-idIntegerConditional Requirement: Required if mobile number is present.The CellPoint Digital-specific country code. This is available in Reference.

The mobile element has the following text content:

ParameterFormatRequirementDescription
mobile numberIntegerConditional Requirement: A mobile number can be mandatory or optional, based on the requirement of a merchant or a PSP.The MSISDN of a customer without International Dialing Code.

email

Parent: root: pay: client-info

The email element can be mandatory or optional, based on the requirement of a merchant or a PSP. It has the following text content:

ParameterFormatRequirementDescription
email addressStringConditional Requirement: Can be mandatory or optional, based on the requirement of a merchant or a PSP.The email address of a customer. If your customer provides this parameter, the 'Email' input field on the 'Send E-Mail Receipt' page is automatically pre-populated with this value.

customer-ref

Parent: root: pay: client-info

The customer-ref element is required, and it has the following text content:

ParameterFormatRequirementDescription
customer IDStringRequiredA unique reference number used for customer identification.

device-id

Parent: root: pay: client-info

The device-id element is optional, and it has the following text content:

ParameterFormatRequirementDescription
device IDStringOptionalThe device ID of the customer’s device.

Applicable to installment payments.

ip

Parent: root: pay: client-info

The ip element is required, and it has the following text content:

ParameterFormatRequirementDescription
IP addressIntegerRequiredThe customer's IP address.