Processing data specific to the split payment response (several payment methods)

Features of a split payment:

  • All the transactions of a split payment are combined within a payment sequence.
  • All the transactions of a payment sequence have the same transaction identifier, but a different sequence number.
  • The number of the first transaction of the sequence is 1, the number of the second is 2, etc..

Context:

At the moment of payment, the buyer pays for a part of the purchase with e-Chèques-Vacances and the rest with a bank card.

The payment will consist of sequence numbers detailed in the vads_payment_seq field.

Note: the number of E_CV transactions is the same as the number of submitted checks, plus one transaction for the bank card.

The IPN URL will contain the following information:

Table 1. List of fields to analyze - Split payment (several payment methods)
Field name Description Value
vads_trans_status Payment status

The returned status is based on the terms of payment.

  • If the payment was made only with e-Chèques-Vacances:

    The value is CAPTURED.

    E-Chèques-Vacances are validated in real time via the ANCV server.

  • If the payment is completed by another payment method, the status value of the other payment method will be taken into account.
    • Bank card without a capture delay in the bank

      The possible values are:

      AUTHORISED

      Accepted, waiting for capture

      CAPTURED

      Captured

    • Bank card with a capture delay that exceeds 0 days or requiring an action on the merchant's part:

      The possible values are:

      WAITING_AUTHORISATION

      Waiting for authorization.

      WAITING_AUTHORISATION_TO_VALIDATE

      To be validated and authorized

      AUTHORISED_TO_VALIDATE

      To be validated

  • If the payment has not been made, the possible values are:
    • ABANDONEDPayment abandoned by the buyer
    • REFUSEDDeclined
    • EXPIREDExpired
    • CANCELEDCanceled
vads_auth_mode Authorization mode The possible values are:
  • FULLIf the payment was made only with e-Chèques-Vacances or if the remaining amount was paid with a payment method without an authorization for 1 euro.
  • MARKIf the remaining amount was paid with an authorization for 1 euro (value used for deferred payments if the period between the requested capture date and the current date is strictly greater than the authorization validity period. For more information, see the Payment Form Implementation Guide available in our online documentation archive).
vads_payment_config Payment type SINGLE
vads_amount Amount in the smallest currency unit 17800 for €178.00
vads_currency Payment currency 978
vads_card_brand Type of payment card MULTI
vads_payment_seq Details of performed transactions See details below

The field vads_payment_seq (JSON format) describes the sequence of the split payment. It contains:

  • "trans_id": global transaction identifier to the payment sequence.
  • "transaction": transaction table of the sequence.

Note: canceled transactions are also mentioned in the table.

Each transaction of the sequence contains the following elements:

Table 2. JSON object content
Field name Description
amount Amount of the payment sequence.
operation_type Debit transaction.
auth_number Authorization number returned by the bank server, if available (otherwise, empty).

Note: this parameter is returned empty for payments by "e-Chèque-Vacances". It is not provided by the ANCV server.

capture_delay Delay (in days) before the capture.
  • For a payment by card, the value of this parameter takes into account the delay (in days) before the capture in the bank. If the parameter is not transmitted in the payment form, the default value specified in the Back Office will be used.

    Note: for payments by "e-Chèques-Vacances", this parameter is set to 0. The "e-Chèques-Vacances" are validated in real time.

card_brand Payment method used.
  • For a payment by card, e.g. Visa card, this parameter is set to CB.
  • For payments by "e-Chèques-Vacances", this parameter is set to E_CV.

See the Payment Form Integration guide for others values.

card_number Payment method number.
  • For a payment by "e-Chèques-Vacances", this parameter is set by concatenating the number of the "e-Chèques-Vacances" with the organization number and the year of the issue separating them with a "-".
  • For a payment by card, the number is masked.
expiry_month Expiration month of the payment card.

Missing parameter for a payment by "e-Chèque-Vacances".

expiry_year Expiration year of the payment card.

Missing parameter for a payment by "e-Chèque-Vacances".

payment_certificate Payment certificate.
presentation_date
  • For a payment by card, this parameter is the requested capture date (ISO 8601 format).
  • For payments by "e-Chèques-Vacances", this parameter corresponds to the order date. The "e-Chèques-Vacances" are validated in real time by the ANCV server.
trans_id Transaction number.
ext_trans_id Missing parameter for a payment card.

For a payment by "e-Chèques-Vacances", this parameter is populated by the payment gateway (transaction reference).

sequence_number Sequence number.
trans_status Transaction status.

Example of field values vads_payment_seq

  • Case 1: all the submitted e-Chèques-Vacances have been added and validated
{
	"trans_id":"913509",
	"transactions": [
	{
		"amount":"6000",
		"operation_type":"DEBIT",
		"auth_number":"",
		"capture_delay":"0",
		"card_brand":"E_CV",
		"card_number":"2002-838861-2015",
		"payment_certificate":"d396a0a9601dc88d23bba2224a41fe8c32676e2f",
		"presentation_date":"2015-02-18T16:12:01Z",
		"trans_id":"913509",
		"ext_trans_id":"87c092a8403747cb9b1486cfa34c3dcc",
		"sequence_number":"1",
		"trans_status":"CAPTURED"		
	},
{
		"amount":"6000",
		"operation_type":"DEBIT",
		"auth_number":"",
		"capture_delay":"0",
		"card_brand":"E_CV",
		"card_number":"2004-838861-2015",
		"payment_certificate":"d396a0a9601dc88d23bba2224a41fe8c32676e2f",
		"presentation_date":"2015-02-18T16:12:01Z",
		"trans_id":"913509",
		"ext_trans_id":"87c092a8403747cb9b1486cfa34c3dcc",
		"sequence_number":"2",
		"trans_status":"CAPTURED"		
	},
{
		"amount":"5800",
		"operation_type":"DEBIT",
		"auth_number":"3fec1e",
		"capture_delay":"0",
		"card_brand":"CB",
		"card_number":"497010XXXXXX0000",
		"expiry_month":"6",
		"expiry_year":"2016",
		"payment_certificate":"010a2db1ef864d6584424c41512dd9ad678c785e",
		"presentation_date":"2015-02-18T16:12:13Z",
		"trans_id":"913509",
		"sequence_number":"3",
		"trans_status":"AUTHORISED"
	}
	]
}

  • Case 2: the buyer cancels a submitted e-Chèque-Vacance
Unlike in case 1, the value of the field "trans_status" is set to CANCELLED to indicate the cancellation of the e-Chèque-Vacance by the buyer.
"trans_id":"913509",
	"transactions": [
	{
		"amount":"6000",
		"operation_type":"DEBIT",
		"auth_number":"",
		"capture_delay":"0",
		"card_brand":"E_CV",
		"card_number":"2002-838861-2015",
		"payment_certificate":"d396a0a9601dc88d23bba2224a41fe8c32676e2f",
		"presentation_date":"2015-02-18T16:12:01Z",
		"trans_id":"913509",
		"ext_trans_id":"87c092a8403747cb9b1486cfa34c3dcc",
		"sequence_number":"1",
		"trans_status":"CANCELLED"		
	},
{
		"amount":"6000",
		"operation_type":"DEBIT",
		"auth_number":"",
		"capture_delay":"0",
		"card_brand":"E_CV",
		"card_number":"2004-838861-2015",
		"payment_certificate":"d396a0a9601dc88d23bba2224a41fe8c32676e2f",
		"presentation_date":"2015-02-18T16:12:01Z",
		"trans_id":"913509",
		"ext_trans_id":"87c092a8403747cb9b1486cfa34c3dcc",
		"sequence_number":"2",
		"trans_status":"CAPTURED"		
	},
{
		"amount":"11800",
		"operation_type":"DEBIT",
		"auth_number":"3fec1e",
		"capture_delay":"0",
		"card_brand":"CB",
		"card_number":"497010XXXXXX0000",
		"expiry_month":"6",
		"expiry_year":"2016",
		"payment_certificate":"010a2db1ef864d6584424c41512dd9ad678c785e",
		"presentation_date":"2015-02-18T16:12:13Z",
		"trans_id":"913509",
		"sequence_number":"3",
		"trans_status":"AUTHORISED"
	}
	]
}

Notes:

  • If the payment by bank card is declined, the value of the field "trans_status" is set to REFUSED.

    The payment gateway cancels the reservation of e-Chèques-Vacances on the ANCV server and the payment is canceled in its entirety.

  • If the payment by bank card is accepted, the value of the field "trans_status" is set to AUTHORISED.

    The payment gateway definitively validates the reservation of e-Chèques-Vacances on the ANCV server. The payment by e-Chèques-Vacances and bank card is validated.