The following parameters and codes are applicable when integrating value added services (VAS) with Velocity API.

Split Payment: Initialize Payment Response Parameters

The description of the response parameters is as follows:

ParameterTypeRequiredDescription
versionIntegerYesThe version of the API or application that sends the request.
idIntegerYesThe unique ID of a merchant for Velocity platform.
nameStringYesThe name of a merchant.
callback-urlStringYesThe absolute URL to a merchant’s back office where Velocity sends the payment status.

Note: If you do not provide this parameter, Velocity uses the default URL. This parameter is not applicable for most of the API based integrations.
accountIntegerNoThe number for the sub-account with which the payment transaction is associated. The Account ID is an integer greater than 100000 and account number is an integer smaller than 1000.

The payment transaction is associated with the default sub-account if you do not provide this parameter. CPD recommends you provide this parameter.
Store-cardIntegerYesIt defines the type of configuration merchants have done to store cards. See the Store-card table below.
max-stored-cardsStringNoThe maximum number of cards stored by a customer.
accept-urlStringYesThe absolute URL where Velocity directs a customer after successfully completing a payment transaction.

Note: If you do not provide this parameter, Velocity uses the default URL. This parameter is not applicable for most of the API based integrations.
auto-captureBooleanYesShows if you have enabled auto-capture
eua-idIntegerNoA parameter which identifies if the API to be called is for saving account or saving card.
modeIntegerNoA parameter used in SDK to switch between production and staging environment.
callback-urlStringNoThe absolute URL to a merchant’s back office where Velocity sends the payment status. Velocity uses the default URL if you do not provide this parameter for the callback URL.

Store-card

The table below shows values used in the Store-card parameter:

IntegerMeaning
0Cards are not stored
1INVALID!
2Stored cards are available only for specific accounts.
3Use only stored cards and make them available only for specific accounts. The e-money based prepaid account is unavailable.
4Stored cards are available for all accounts.

Note: Velocity must be hosted by a Master Merchant.

Transaction Information Parameters

ParameterTypeRequiredDescription
idIntegerYesThe ID of a transaction.
order-noStringYesThe order number used for the transaction.
type-idIntegerYesThe type of application used for a transaction. For example: 40 indicates a mobile application purchase and 30 indicates a web purchase.
amountIntegerYesThe total amount a customer is charged for a payment transaction in a country’s smallest currency.
currencyStringYesThe format of currency used for a transaction.
formatStringYesThe format in which price is presented.
country-idIntegerYesThe CPD-specific country code, provided to merchants on request.
mobileIntegerNoThe MSISDN of a customer without international dialing code.
country-idIntegerYesThe CPD-specific country code, provided to merchants on request
operatorIntegerYesThe ID of a customer’s mobile network operator, it is recommended to include this parameter in the request to ensure that Velocity interacts with the operator correctly.
emailStringNoThe email address of a customer. If your customer provides this parameter, the email input field on the Send E-Mail Receipt page is automatically populated with this value.
idIntegerYesThe ID of a transaction.

Card Parameters

ParameterTypeRequiredDescription
cvcIntegerYesThe card verification value of a credit or debit card.
payment-typeStringYesThe type of payment such as card, wallet, or APM.
processor-typeStringYesThe type of processor used to process payment.
idIntegerYesThe Velocity stored card ID for a stored card payment.
• The ID of the card scheme for a new card payment.
• The ID of the payment method for a wallet or APM.
type-idIntegerYesThe type of payment method. It can be one of the following:
• The ID of the card scheme for a new card payment. For example, 7 for Mastercard and 8 for Visa.
• ID of the payment method for a wallet or APM.
psp-idIntegerYesThe ID of a PSP used for a card.
min-lengthIntegerYesThe minimum length of a card number.
max-lengthIntegerYesThe maximum length of a card number.
cvc-lengthIntegerYesThe length of CVC number on a card.
nameStringYesThe name of a card type. It can be your card scheme name.
minIntegerYesThe minimum prefixed number that a card can have.

Other Parameters

ParameterTypeRequiredDescription
enabledBooleanYesShows if the card was enabled.
state-idIntegerYesThe state of a card. For example, enabled or disabled by PSP.
url methodStringNoThe method used for submitting the authorization request. For example, app, GET, and POST.

split_payment Parameter

ParameterTypeRequiredDescription
combinationObjectYesThe object which contains one or more combination for making payment.
payment_typeObjectYesThe object which contains card ID and sequence number.
idIntegerYesThe type of payment such as card, wallet, or APM.
sequenceIntegerYesThe sequence number of a split payment.
active_splitObjectNoThis node represents the information of current active split transactions.
current_split_sequenceIntegerNoSequence number of the current transaction in active split.
transactionsObjectNoTransactions in the current active split.
transaction/payment_typeIntegerNoPayment type of a transaction.
transaction/idIntegerNoTransaction ID
transaction/sequenceIntegerNoSequence number of the transaction in the split.

📘

Note: The wallets, APM, and gateways have the same parameters as card parameters in this table.

Card Details Required by Pay API

This information is used for the construction of Velocity card object used for calling the pay and authorize APIs.

ElementDescription
cardUsed for showing the different cards or payment methods configured for a merchant.
psp-idUsed internally by Velocity to process payment
type-idThe card type: this is internal id identify the payment type used within Velocity.

Generic Codes

Generic codes applicable when integrating VAS with Velocity API.

Generic CodeDescription
200Request validated and accepted by Velocity
400Request has been rejected by Velocity due to a validation error
401Authentication required
403Access denied
415Message was transmitted in an unknown format or using an unsupported Content Type
500Velocity server error
502Payment Service Provider returned an unknown error
504A timeout occurred while communicating with the PSP
2002Payment refunded
2003Payment cancelled
2201Partial capture
2202Partial cancel
2203Partial refund
2009Card stored
2084Card not found
20109Payment timeout

Status Codes

Status codes applicable when integrating VAS with Velocity API.

Status CodeCategoryTypeDescription
1001PaymentPayment Initialized with VelocityThe payment transaction is created in the Velocity database.
1009PaymentPayment Initialized with PSPThe payment processor responsible for authorizing the payment has been initialized.
1991CallbackMerchant Callback ConstructedThe callback to the merchant application sent to ‘callback-url’ has been constructed.
1992CallbackCallback ConnectedThe connection with the merchant callback URL is established.
1993CallbackCallback Connection FailedThe connection with the merchant callback URL failed.
1990CallbackCallback AcceptedThe merchant system returned an HTTP 200 OK and received the callback.
1995CallbackCallback RejectedThe merchant system returned an HTTP $XX/5XX Error and rejected the callback.
2000PaymentAuthorizedThe payment has been successfully authorized by the PSP.
2002PaymentCancelledThe authorized payment successfully cancelled by the PSP.
2003PaymentRefundedThe captured payment successfully refunded (full / partial) by the PSP. The manual operation / delayed refund - pending states, initiated.
2008PaymentPayment via StoredInitialized payment with stored card.
2009PaymentAuthorized and Card StoredThe payment successfully authorized by the PSP and the card stored on successful authorization.
2001PaymentCapturedThe payment successfully captured by the PSP initiated for refund?
2010PaymentRejectedThe payment was rejected by the PSP or Acquirer need more granular states - message tbl front end can continue handling the generic state.
20109PaymentRejected sub state on timeoutIssuer down time, SDK returns this to Velocity core.
20108PaymentRejected sub state on timeoutPSP down time, SDK returns this to Velocity core.
2011refund PaymentDeclinedThe payment was declined by the PSP / Acquirer while performing capture, refund or cancel.
4021SessionSession FailedNo vision impact however all declines have common state 2011.
4030SessionSession CompleteThe session failed (maximum attempt exceeds).
4031SessionSession PartialOne or more transaction attempt failed.
4020SessionSession FailedThe session successfully completed. The transactions in the session are complete and successful.
CodeDescription
0Payment not made
1003Card expired
1005Invalid card number
1011Invalid card name
1012Invalid card address
1013Invalid card date of birth
1014Card is inactive
2007Payment processed
2019Payment duplicated
2084Card not found
4030Payment success
40031Partial payment success
200Request validated and accepted by back end
400Request rejected by back end because of validation error
401Authentication required
403Access denied
415Message transmitted in an unknown format or by using an unsupported content type
500Velocity server error
502PSP returned an unknown error
504A timeout occurred while communicating with the PSP
Status CodeTypeDescription
2004Card not enrolledCard is not enrolled for 3DS by issuer.
20053DS authentication requiredCardholder authentication required by issuer.
20063DS authentication successCardholder authenticated by issuer.
2010RejectedThe payment was rejected by the PSP or Acquirer.
2011DeclinedThe payment was declined by the PSP or Acquirer while performing capture, refund or cancel.
20163DS authentication failedCardholder not authenticated by issuer.
2017Authorization not attempted due to ruleAuthorization not attempted due to rule set by the merchant.
4020Session failedThe session failed or declined. One or more transactions in the session failed
4021Session failedThe session failed as user exceeded maximum attempts.
4030Session completeThe session successfully completed. The transactions in the session are complete and successful.
4031Session partialThe session was partially completed. One or more transactions in the session were incomplete.
20109Rejected sub state on timeoutIssuer down time, SDK returns this to Velocity POP.
20108Rejected sub state on timeoutPSP down time, SDK returns this to Velocity POP.

Capture Payment Codes

Capture Payment codes applicable when integrating VAS with Velocity API.

Capture Payment CodeDescription
400Invalid Request
997Capture not supported
998Network Error
999Declined
1000Transaction captured successfully
2001Payment successfully captured by the PSP / Acquirer
40031Partial payment success

Granular Error Codes

Granular error codes unique to integrating VAS with Velocity API. All others can be found in the general Error Descriptions section.

User errors

Granular Error CodeDescription
2010201Invalid access credentials
2010202Invalid PIN or OTP
2010203Insufficient funds or over credit limit
2010204Expired card
2010205Unable to authorize
2010206Exceeds withdrawal count limit OR authentication requested
2010207Do not honor
2010208Transaction not permitted to user
2010209Transaction aborted by user / card holder abandoned 3DS/wallet
2010210User inactive or session expired
2010211Only a partial amount was approved

DDC Status Codes

The following codes are applicable for Device Data Collection (DDC).

Status CodeNameDescription
200501DDC Required for AuthorizationDenotes DDC verification is required.
200601DDC SuccessfulDenotes DDC verification successful.
201601DDC FailedDenotes DDC verification failed.
201602DDC ExpiredDenotes DDC verification expired (could not able to collect DDC due to time limit exceeded).
201603DDC UnknownDenotes DDC verification status is unknown.