Creating a deferred payment with PayPal

A deferred payment is a payment with a delay between the purchase date of an item and its payment.

This delay before capture by PayPal can be defined in the payment form via the vads_capture_delay parameter.

In case of a deferred payment, the capture delay is strictly greater than 0. Similarly to payments by card, the results are different if the capture delay is greater than the authorization validity period. For PayPal payments, authorizations are valid for only three days (and not 6 days like for bank card payments).

If the capture delay is less or equal to 3 days:

An authorization is made on the payment day.

The capture will be made on the day of the requested presentation date.

If the capture delay is greater than 3 days:

On the payment day, an operation similar to a card pre-authorization is made.

The authorization will be made 3 days before the requested presentation date. The capture is always made on the day of the presentation date.

  1. Use all the fields presented in the table below to create your payment form.
    Table 1. Field list - Immediate payment
    Field name Description Value
    vads_site_id Shop ID E.g.: 12345678
    vads_ctx_mode Operating mode TEST or PRODUCTION
    vads_trans_id Transaction number E.g.: 123456
    vads_trans_date Date and time of the payment form in UTC format E.g.: 20141010130025
    vads_amount Payment amount in the smallest currency unit (cents for euro). E.g.: 3000 for 30,00 EUR
    vads_currency Code of the currency used for the payment E.g.: 978 for euro (EUR)
    vads_action_mode Card data acquisition mode SILENT or INTERACTIVE
    vads_page_action Action to perform PAYMENT
    vads_version Version of the exchange protocol V2
    vads_payment_config Payment type SINGLE
    vads_payment_card Payment method PAYPAL
    vads_capture_delay Capture delay E.g.: 2
    vads_validation_mode Specifies the validation mode of the transaction (manually by the merchant, or automatically by the payment gateway). 0 or 1 or absent or empty
  2. Set the vads_payment_config field to SINGLE.
  3. Set the vads_capture_delay field value higher than 0.
  4. Set vads_payment_card to PAYPAL if you only wish to display the PayPal payment method on your payment page.
    If you wish to make test payments, set the vads_payment_card field to PAYPAL_SB.
  5. Populate the vads_currency field with the code of the desired currency using the table below:
    Currency ISO 4217 encoding Number of digits after the decimal point
    Australian Dollar (AUD) 036 2
    Cambodian Riel (KHR) 116 0
    Canadian Dollar (CAD) 124 2
    Chinese Yuan Renminbi (CNY) 156 1
    Czech Crown (CZK) 203 2
    Danish Crown (DKK) 208 2
    Hong Kong Dollar (HKD) 344 2
    Hungarian Forint (HUF) 348 2
    Indian Rupee (INR) 356 2
    Indonesian Rupiah (IDR) 360 2
    Japanese Yen (JPY) 392 0
    South Korean Won (KRW) 410 0
    Kuwaiti Dinar (KWD) 414 3
    Malaysian Ringgit (MYR) 458 2
    Mexican Peso (MXN) 484 2
    Moroccan Dirham (MAD) 504 2
    New Zealand Dollar (NZD) 554 2
    Norwegian Crown (NOK) 578 2
    Philippine Peso (PHP) 608 2
    Russian Ruble (RUB) 643 2
    Singapore Dollar (SGD) 702 2
    South-African Rand (ZAR) 710 2
    Swedish Crown (SEK) 752 2
    Swiss Franc (CHF) 756 2
    Thai Baht (THB) 764 2
    Tunisian Dinar (TND) 788 3
    Pound Sterling (GBP) 826 2
    US Dollar (USD) 840 2
    Taiwan New Dollar (TWD) 901 2
    Turkish Lira (TRY) 949 2
    Euro (EUR) 978 2
    Polish Zloty (PLN) 985 2
    Brazilian Real (BRL) 986 2
  6. Set the vads_validation_mode field to 0 for an automatic validation or to 1 for manual validation.
    By default, the validation mode is automatic. If this field is absent or empty, the default mode will be used.
  7. Add optional fields according to your requirements (see chapter Using additional features).
  8. Compute the value of the signature field using all the fields of your form that start with vads_ (see chapter Computing the signature).