Arborescence des pages

Vous regardez une version antérieure (v. /display/DT/Webservice+-+doWebPaymentRequest) de cette page.

afficher les différences afficher l'historique de la page

Vous regardez la version actuelle de cette page. (v. 1) afficher la version suivante »


     

 Request

Response


Introduction

The doWebPayment function initialises a web payment before Payline begins payment flow. This allows immediate or deferred full payments, instalments payments, and subscription payments to be made.


Full payments allow you to carry out an authorisation+validation or a simple authorisation. If using simple authorisation, validation (or capture) takes place either automatically by the Payline payment solution, or by the merchant, using webservice calls or via our back office Payline administration centre. This can also be programmed from the authorisation request, always within 7 days, using the batch interface function or the doCapture web service by entering the date of action.

NOTE : With a debit authorization, you have up to 7 days to validate the payment request. Outside of those 7 days, your authorization expires and is no longer valid.


The notifications 

To be informed that your customer has paid once the authorization request has been accepted, even if the customer does not return to your site, fill in the notificationURL field in your point-of-sale settings or when you make a web payment initialisation request. Payline will then contact a page from your site and send back the token linked to the payment in the GET parameter of the HTTP request. This page must be accessible by Internet using the HTTP/S protocol.

When a notification is received, your site must carry out a result request for the notified web payment.

NOTE : If your site cannot be accessed, Payline tries every minute during 2 hours. After this, notification is deactivated. You can find your payments in the Merchant Administration Centre web interface.


Instalments or subscription payment is possible using a virtual wallet. 

Payline takes charge of the creation of a virtual wallet after the validation of data collected at first payment. When the customers make a second purchase on your online store, Payline suggests that they use their virtual wallet. In this case, “one click” payment is used and the customer does not need to enter any payment information.
Payline can manage instalment payments. When payment is carried out, you can be advised by email by activating the “send an email to merchant” option in the Merchant Administration Centre. If there is a problem with payment, Payline tries the transaction 3 times during one week. Each time an attempt fails, you are informed.


Alternative payment method  : this feature allows the merchant, in case of bank refusal, to offer his customers to pay with another means of payment.
This function only applies: for the same order, at the time of the first payment and in the event of a bank refusal. A list of alternative payment methods must have been provided in doWebPayment (secondSelectedContractList).


Request

The doWebPaymentRequest request must have the following structure:

Element

Description

Required

Type

Example

Condition
versionPayline web services version. To be valued with the latest version: see the table of versions.YesN2

18


payment

Information regarding payment. see the items below

YesObject payment


Possible values ​​of payment.action = 100, 101, 108, 110, 120, 121.

returnURL

URL on which the shopper's browser is redirected in case of acceptance or refusal of payment on Payline. 
The merchant must call getWebPaymentDetails

Yes

AN255

http: // ... or https: // ...


cancelURL

URL on which the shopper's browser is redirected in case of abandonment of the user, Payline or merchant.

Yes

AN255

http: // ... or https: // ...


order

Order Information : see the items below

Yes

Object order



notificationURL

URL on which Payline will ask the merchant site to retrieve the result of the transaction.

no

AN255

http: // ... or https: // ...


selectedContractList

The list of contract you wish to use for this payment. Payline displays the list of payment methods according to the list order: see the items below

Yes

Object selectedContractList


Mandatory from version 4

secondSelectedContractList

The list of contract numbers that you want to be able to resubmit when the first transaction attempt fails.

If this field is not filled in, Payline will not resubmit a payment method when the first transaction attempt fails.
see the items below

no

Object selectedContractList



privateDataList


Your own personal information : see the items below

no

Object privateDataList



languageCode

Fill in this field with the ISO code of the language in which you want to display the Payline payment web pages. By default, the web browser of your shopper asks Payline for the page in the desired language : cf. complete list  language code 

no

AN6

fr

customPaymentPageCode

The personalization identifier of the merchant's customization web pages

no

AN50

1fd51s2dfs51


buyer

Shopper information : see the items below

no

Object buyer



owner

Cardholder Information : see the items below

no

Object owner


Applicable only for AMEX

securityMode

Selecting the security mode to use for the payment transaction

Yes

AN

SSL


recurring

Recurring payment information : see the items below

no

Object recurring



customPaymentTemplateURL

Dynamic template URL

no

AN255


https: // .... only

contractNumberWalletList

A chart of the contract numbers of the wallet.

The Widget mode uses the multi-PDV Wallet and multi-contract.
see the items below

no

Object contractNumberWalletList


Not used in Widget mode. RELEASE 4.53
merchantNameName displayed on the ACS authentication pagenoAN25Your name of signboard
subMerchantPayment Facilitator Information : see belownoobject subMerchant
version 18 or later RELEASE 4.53
miscDataAdditional data , without character limit and transmitted to the partners. Consult the payment method for each use : see belownoAN
version 18 or later RELEASE 4.53
asynchronousRetryTimeout

For the Asynchronous Retry function , this is a numeric that specifies the period in minutes. It must be between 5 and 10080 (7 days).

noAN10080RELEASE 4.56

The reference elements


Object payment


Field

Description

Mandatory

Format

Example

Condition

amount

Transaction amount in the smallest currency unit. The value 100 corresponds to 1 €

Yes

N12

100


currency

Payment currency code

Yes

N3

978


action

Payment function code : see the table

Yes

N3

100


mode

Payment mode full or deferred : see the table

Yes

AN3

CPT


contractNumber

The e-commerce contract code or number which gives the payment method you wish to use

Conditionnal

AN20

1234567

  • doWebPayment : mandatory (defined point of sale)  
  • doAuthorization (defined point of sale : mandatory) 
  • doCapture / doRefund : not used.

differedActionDate

Date of the action. It must be earlier than today + 7 days.  Format : dd/mm/yy

No

AN8

07/04/2016

If the mode = DIF field, then the DifferedActionDate date is required otherwise this field must be empty.

method

Name of card issuer : see the table values

No

AN20

CB

version 10 or higher.
Ex : CB, PAYSAFECARD

softDescriptor

Information displayed on the account statement of the buyer, limited with certain means of payment. This information will be displayed on the payment ticket. 
Special characters (not A..Z and 1..9) are specific to each acquirer / payment method.

NoAN64www.boutique.fr

version 13 or higher

(avertissement) Not supported by all banks. Please check Soft Descriptor (DSD)

cardBrand

Indicates the scheme used for the operation, see table. 
It is necessary only if the payment method allows the choice (card payment).

NoAN15

version 15 or higher


registrationToken

Token used in response in services. 
It allows the partner to return a token to identify a consumer and finds this data when making a payment request.
NoAN

version 18 or higher

RELEASE 4.53

cumulatedAmount

In case of installment or recurring payment this parameter specifies the amount paid up to now.

The amount does not include this last payment.

The amount is expressed in the smallest currency unit.

NoN12

version 21 or higher

RELEASE 4.58

Object order


Field

Description

Mandatory

Type

Example

Condition

ref

Order reference.
This reference must be unique since it is used in duplicate request check.
The back slash character ("\") is forbidden.

Yes

AN50

12345678


origin

Type of order with the values : 

  • E-commerce (default)
  • MO for mail order
  • TO for telephon order
  • In-Store for Proximity (For Monext internal use Only)

No

AN



country

Code of the country in which the order is done, see the list

No

AN2

FR


taxes

The amount of tax added to the order in the smallest currency unit.
An amount of 1 € corresponds to 100.

No

N12

100


amount

The amount of order in smallest unit of currency.
An amount of 60 € corresponds to 6000.

Yes

N12

6000

(avertissement)  From version 28  of the API, this field must contain the amount to be authenticated  (3DSV2)

currency

Currency code used for order. The ISO code :

978: euros 
840: US dollars

See complete list in  List of currencies

Yes

N3

978

date

The merchant order date.  Format : dd/mm/yyyy HH24:MI

Yes

AN16

07/04/2016 11:00

details

Information about the ordered items. The order details is limited to 100 items.

No

List of Objects 'OrderDetails'



deliveryTime

Delivery time : Values for deliveryTime

No

N

1


deliveryMode

Delivery method : Values for deliveryMode

No

N

4


deliveryChargeAmount of delivery charges in smallest unit of currency, example 250 for 2.50 eurosNoN
version 18 ou higher 
deliveryExpectedDate

Expected delivery date must be greater than the current date. Format: dd/mm/yyyy

Nodatetime07/04/2016Posted to Limonetik
deliveryExpectedDelayExpected delivery time (in days)NoN210Posted to Limonetik
discountAmountAmount of the discount for this order (in the same currency than the order)NoN12

version 21 or higher 

OTAPackageTypeType of package (flight only, journey+accomodation, …). See the table of values Codes - OTAPackageTypeNoN2

version 21 or higher 

OTADestinationCountryCountry code of the destination, in ISO 3166-1 format. See the table of values Codes - countryNoAN2

version 21 or higher 

bookingReferenceBooking reference or Id of the travel fileNoAN100

version 21 or higher 

orderDetailUsed only for origin = MO or TO. NoAN4

version 21 or higher 

orderExtended

Additionnal information about the order.

In JSON format

No

AN in JSON format

{
"deliveryProvider": "deliveryProvider",
"riskLevel": "3",
"giftCardAmount": "4000",
"giftCardCurrency": "978",
"giftCardCount": "2",
"reorderIndicator": "01"
}

version 21 or higher (3DSV2)

orderOTA

Online Travel Agency information.


No

AN in JSON format

See Object OrderOTA

{
  "bookingDate": "2018-12-05",
  "agencyCode": "6565",
  "agencyName": "My Agency",
  "travelPurpose": "1",
  "countryDestination": "ANG",
  "transport": {  },
  "carRental": {...},
  "accomodation": {...}
}

transport : 

{
  "transportMode": "1",
  "travelerList": [...],
  "legList": [...]
}

travelersList :

 {
    "lastName": "France",
    "firstName": "Oliver",
    "birthDate": "1970-01-01",
    "legalDocumentType": "1",
    "legalDocument": "passeportId",
    "loyaltyMemberId": "123453453",
    "loyaltyMemberType": "4"
  },
  {
    "lastName": "France",
    "firstName": "Oliver",
    "birthDate": "1970-01-01",
    "legalDocumentType": "1",
    "legalDocument": "passeportId",
    "loyaltyMemberId": "4537884",
    "loyaltyMemberType": "4"
  }
legsList : 
  {
    "segment": "O",
    "ticketNumber": "T98374556",
    "ticketClass": "Economy",
    "isTicketRestricted": "N",
    "hasTicketInsurance": "N",
    "airlineCode": "LFT",
    "airlineName": "Lufthansa",
    "departureDate": "2019-01-24",
    "departureAirport": "MRS",
    "arrivalDate": "2019-01-25",
    "arrivalAirport": "SFO"
  },
  {
    "segment": "T1",
    "ticketNumber": "T98774556",
    "ticketClass": "Economy",
    "isTicketRestricted": "N",
    "hasTicketInsurance": "N",
    "airlineCode": "LFT",
    "airlineName": "Lufthansa",
    "departureDate": "2019-01-24",
    "departureAirport": "MRS",
    "arrivalDate": "2019-01-25",
    "arrivalAirport": "SFO"
  }
]

version 21 or higher 


Object orderDetail


Field

Description

Required

Format

Condition

Example

ref

Item reference

No

AN50



price

Item price, in the smallest currency unit

No

N12



quantity

Number of Items

No

N5



comment

Comment

No

AN255



category

Category of item

No

AN50


See table values

brand

Product brand

No

AN50


HERMES

subcategory1

Rank 1 subcategory

No

AN50


Watches & Jewellery

subcategory2

Rank 2 subcategory

No

AN50


Jewellery

additionalData

List of specifications required for some payment methods

No

AN255


LegalAge=18;Discount=0105

taxRate

Item tax rate (expressed in hundredths). Format : 1580 for 15.8%

No

N4


1580

sellerName or id of the final sellerNoAN100Release 4.58 - version 21 or highermerchant.com
sellerType

Type of seller.  Values : 

1: Professional
2: Private seller

NoN2Release 4.58 - version 21 or higher1


Object selectedContractList


Field

Description

Mandatory

Type

Condition

selectedContract

The contract numbers list you want to use for this payment. 

Payline displays the payment methods in which the list has been filled.

If this field is not filled in, Payline displays all of your payment methods actived for the point of sale.

Number of occurrences: 1 to 99.

No

 AN50

Filed required as following  :

  • No, if Webservice Version is empty or <4
  • Yes, if Webservice Version> = 4



Object privateDataList


Field

Description

Mandatory

Format

Example

privateData

List containing privateData

Number of items 0 to 100

Yes

Object - privateData




Object privateData


Field

Description

Mandatory

Format

Example

key

Key name of value

Yes

AN50

user

value

Value associated to the key

Yes

AN50

Martin


Object buyer


Field

Description

Mandatory

Type

Example

Condition
titleTitle of civility, See the table of valuesNoAN1



lastName

Buyer's surname

No

AN50



firstName

Buyer's first name

No

AN50



email

Buyer's email address

No

AN150


Do not put more than 12 consecutive digits (eg test123456789101@test.test )

shippingAdress

Delivery address.

No

Object Address



billingAddress

Billing address

No

Object Address



accountCreateDate

The date of creation of the buyer's account. Format  : dd/mm/yy 

No

AN10

01/04/16


accountAverageAmount

The average amount of this buyer's purchases

No

N10



accountOrderCount

The number of orders placed by this buyer

No

N10



walletId

The virtual wallet identifier of your client.

No

AN50


Mandatory for wallet payment

walletDisplayed

Management of the display of the means of payment of your customer.

To not display the customer payment data, enter the value "none".

To display the customer payment data, the tag must be empty or absent.

No

AN5



walletSecured

Nature of the control added to the payment kinematics WEB.
See the table of values

No

AN12



walletCardInd

Specifies the index of the card to use.

No

AN2

1

The index, default value "1" 

ip

Buyer's IP address. Format : IPv4 or IPv6 

Conditionnal

AN50


Mandatory in a verifyEnrollmentRequest for browser based authentication.

mobilePhone

The mobile number of the buyer

No

N15

0033691666666



customerId

Customer ID

No

AN50

894492568

Clearsale: This data can be an identifier or an email
legalStatusLegal status of the customer: person or companyNoN11Clearsale: see the table of value.
legalDocumentTypeType of document : See the table of values
NoN11
legalDocumentIdentification number of the official documentNoAN100X5446119U
birthDateBirth date. Format: yyyy-mm-dd NoAN10

2016-04-27


fingerprintIDID Device fingerprintNoAN50

deviceFingerprintDeviceFingerPrint information.NoAN
from version 15
isBotDeviceFingerPrint information. Possible value: Y or NNoAN1
from version 15
isIncognitoDeviceFingerPrint information. Possible value: Y or NNoAN1
from version 15
isBehindProxyDeviceFingerPrint information. Possible value: Y or NNoAN1
from version 15
isFromTorDeviceFingerPrint information. Possible value: Y or NNoAN1
from version 15
isEmulatorDeviceFingerPrint information. Possible value: Y or NNoAN1
from version 15
isRootedDeviceFingerPrint information. Possible value: Y or NNoAN1
from version 15
hasTimezoneMismatchDeviceFingerPrint information. Possible value: Y or NNoAN1
from version 15
loyaltyMemberTypeValues : 

0 : No program
1 : Standard/Normal
2 : Silver
3 : Gold/Premium
4 : Platinium
9 : Subscription in progress
99 : Special or Other

NoN20

from version 21 or higher (3DSV2)

RELEASE 4.58

buyerExtendedPast events about buyer. See below for more information about buyerExtendedHistory NoAN
{
  "loyaltyMemberId": "buyerExtLoyMemId",
  "buyerExtendedHistory": {...}
}

from version 21 or higher (3DSV2)

RELEASE 4.58

merchantAuthenticationInformation about cardholder to authenticate to the merchantNoObject merchantAuthentication

from version 21 or higher (3DSV2)

RELEASE 4.58



Object owner


Field

Description

Mandatory

Type

Example

Condition

lastName

Owner lastname

No

AN30

Pierre

Applicable only for AMEX

firstName

Owner firstname

No

AN15

Paul

Applicable only for AMEX

billingAddress

Billing adress

No

Object - addressOwner


Applicable only for AMEX

issueCardDate

Issue card date. Format : mmyy

No

AN4

0118

Applicable only for AMEX


Object addressOwner


Field

Description

Required

Format

Example

street

Street name

No

AN20


cityName

City

No

AN40


zipCode

Postal code

No

AN9


country

Country, the list of values.

No

AN2

FR

phone

Phone

No

AN15




Object address


Field

Description

Required 

Format

Condition

title

Title, see table values

No

AN2


Name

Name or building number

No

AN100


firstName

First name

No

AN100


lastName

Last name

No

AN100


streetNumberStreet numberNoN

street1

Street name

No

AN100


street2

Complement of street name

No

AN100


cityName

City

No

AN40


zipCode

Postal code

No

AN12


country

Country, see table values

No

AN2


phone

Phone

No

AN15


state

State

No

AN100


countyRégionNoAN15
phoneTypePhone category, see table valuesNoN1
email

Specificity of ShippingAdress:

For electronic delivery, the email address to which the merchandise is delivered.

NoAN150

version 21 or higher (3DSV2)

RELEASE 4.58

addressCreateDateCreation date of the address in the merchant's systemNoAN10

version 21 or higher (3DSV2)

RELEASE 4.58




Object recurring


FieldDescriptionRequiredFormatExampleCondition

firstAmount

The amount of the first amount to be made. It must be formulated in the smallest unit of the currency.
For an amount of 100 €, you must set the value 10000

No

N12

10000

value mandatory REC and NX

amount

The amount of a maturity. It must be formulated in the smallest unit of the currency.
For an amount of 5 €, you must put the value 500

Yes

N12

500

value mandatory REC and NX

billingCycle

The code of the frequency of payments. Values : 

40: Monthly 
60: Quarterly

cf. complete list in annex table "  Frequency list "

Yes

N2

40


billingLeftNumber total of due dates (only for NX)NoN33value mandatory NX
billingRank

Rank of the installment (from 1 to n, where n is the total number of installments ie the value of 'billingLeft')

This value has to be set when used in the doAuthorization web service

NoN21Version 22 or higher (3DSV2)
billingDayDay when the deadlines must be processed. Format : ddNoAN220

startDate

The date of the first expiry (only in REC mode). If this field is not filled in, Payline assigns the current date.
Format : dd/mm/yyyy

No

AN10

01/01/2018


endDateThe date of the end of payment deadlines.  Format : dd/mm/yyyy HH24:MINoAN16

31/12/2018 12:00


newAmountNew amount changed. For an amount of 60 €, you must put the value 6000
NoN126000
amountModificationDateThe date of the modification of the amount. Format : dd/mm/yyyy HH24:MINoAN16

06/06/2018 12:00



Example :

Payment in = REC mode with the following values:

  • recurring.billingCycle = 40 (monthly)
  • a CB card
  • 24 months with disbursements at the end of every month 
  • recurring.billingDay=31
  • recurring.EndDate = today's date +2 years

The first transaction is made on the current date and then every month, at the end of the month for 2 years until the endDate.

For the even months and the month of February, the day selected when creating the deadlines is 30 for even months and 28 or 29 for February.



Object contractNumberWalletList


Field

Description

Required

Format

Example

Condition

contractNumberWallet

List containing the contract numbers of portfolio. Number of elements 0 to 10.

The Widget mode uses the multi-PDV and multi-contract wallet: the wallet is linked to merchant level.

No



Not used in Widget mode. 

RELEASE 4.53


Object subMerchant

Object available in version 18 or higher of web services

Field

Description

Presence (Mandatory/Optional/Conditional)

Type

Conditions and notes

Amex

CBMSCVISAiDEAL

subMerchantId

Identifier of the sub-market (final beneficiary) defined by the payment provider (Payment Facilitator).

M

MM
M

AN15


subMerchantName

Sub-merchant's name : see Payment Facilitator.

M

M


AN15

Limited to 15 char from version 26 or higher (was 25 char in version 18-25)

subMerchantMCC

MCC Code

M

MM

N4


subMerchantSIRET

SIRET (French merchants)

O

MOO

AN14


subMerchantTaxCode

Tax code (US and Canadian merchants)

CC


AN

Mandatory for countries USA and CAN.
It is up to the Payment Facilitator to determine whether that information should be provided or not.

subMerchantStreet

Street name

M

O


AN30


subMerchantCity

City

M

O


AN15


subMerchantZipCode

Postal code

M

O


AN15


subMerchantCountry

Country code

M

M


AN2

 see the list of values

subMerchantState

State

O

O


AN3


subMerchantEmailAddressEmailM



ANS40
subMerchantPhoneNumber

Phone number

M



AN20

Additional Private Data (example)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<impl:miscData>
    <![CDATA[
        { "ContratVAD": "{'optionalTravelDetails':
                                {'class':'First',
                                 'departureDate':'2014-10-05T08:43:00',
                                 'destinationCountry':'GN',
                                 'insurance':'SIMPLE',
                                 'mainDepartureCompany':'Luftansa',
                                 'ownTicket':false,
                                 'ticketCount':1,
                                 'travellerCount':2,
                                 'travellerPassportList':[{'expirationDate':'2018-12-31T08:45:00','issuanceCountry':'FR'},
                                                          {'expirationDate':'2019-01-01T08:45:00','issuanceCountry':'DE'}],
                                 'type':'TwoWay'
                                },
                            'additionalNumericFieldList':[{'index':'1', 'value':'10'},
                                                          {'index':'2', 'value':'20'}],
                            'additionalTextFieldList':[{'index':'11', 'value':'val11'},
                                                       {'index':'22', 'value':'val22'}]
                          }"
        }
      ]]>
</impl:miscData>
  • Aucune étiquette