V 1.6.6 - e-Financing API

Version 1.6.6 - depreciated

Description

The E-financement API is used to initiate and manage a E-financement subscription from the checkout page on behalf of the buyer.

You will obtain a redirect Url or a Html page to the producer E-financement customer journey.

At any time you can retrieve the status and details of your E-financement subscriptions.

Once your subscription request is accepted by financing institution, you can request for a full or partial cancellation request. According, your subscription kind (solution code) you would have to notify the financing institution of, first the delivery of goods, and second the return of delivery before any cancellation request.

Change log 1.6.0:

  • New endpoint /subscriptions/{creditSubscriptionId}/_confirmReturn which allows the buyer to confirm the product return in order to cancel the credit transaction related its command.

Change log 1 6.6:

  • Add validations about max length and format of the fields of the request body of the POST /subscriptions: BUyers and the sub-resources contact and address.

  • Update phone number, mail address pattern with formats that match the corresponding ISO.

Eligibility

retrieve eligible E-financing solutions

get

Retrieve eligible E-financing solutions given financed amount and buyer country. As a result, you will a list of E-financing solutions codes with their related merchant kits. A merchant kit will allow you to display E-financing visual name, label, description , logo and product terms to the customer. An empty json object is returned if not eligible.

Authorizations
Query parameters
buyerBillingCountrystringRequired

FR for France or DE for Germany. ISO 3166-1 alpha-2

Example: FR
financedAmountnumber · floatRequired

amount to be financed

Example: 999.99
Responses
200
The financed amount and country is eligible
application/json
get
GET /baas/uatc/e-financing/api/v1/eligible-solutions HTTP/1.1
Host: api.scalexpert.uatc.societegenerale.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
  "solutions": [
    {
      "solutionCode": "SCFRSP-3XTS",
      "familyCode": "SC",
      "marketCode": "FR for France or DE for Germany",
      "conditions": "PS",
      "communicationKit": {
        "solutionCode": "SCFRSP-3XTS",
        "visualTitle": "Payez en 3 ou 4 fois",
        "visualDescription": "Baas is great",
        "visualInformationIcon": "XXX/XXX.ico (url icon)",
        "visualAdditionalInformation": "xxx",
        "visualLegalText": "xxx",
        "visualTableImage": "https://merchant.kit/uri/table.png",
        "visualLogo": "https://merchant.kit/uri/productTerms.ico",
        "visualInformationNoticeURL": "https://merchant.kit/uri/productTerms.pdf",
        "visualProductTermsURL": "https://merchant.kit/uri/productTerms.pdf"
      }
    }
  ]
}

Simulations

Calculate the simulation of the eligible e-financing solutions

post
  • Calculate the simulation of the eligible e-financing solutions
  • If solutionCodes are not specified in the request, all eligible e-financing solutions will be simulated.
  • The response returns an empty solutionSimulations array if there is no eligible e-financing solution or all the rquested solutions are not eligible.
Authorizations
Body

Request body represents the data that will be used to simulate the eligible e-financing solutions.

financedAmountnumber · floatRequired

Amount to be financed.

Example: 3943.36
buyerBillingCountrystring · enumRequired

Country of the buyer (FR for France or DE for Germany).

Example: FRPossible values:
solutionCodesstring[]Optional

List of codes used for identifying all or part of the eligible e-financing solutions to be simulated. By default, all eligible e-financing solutions will be simulated.

Example: List [ "SCFRSP-3XTS" ]
Responses
200
The result of the simulation of eligible financial solutions for a given amount and solution codes.
application/json
post
POST /baas/uatc/e-financing/api/v1/_simulate-solutions HTTP/1.1
Host: api.scalexpert.uatc.societegenerale.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 82

{
  "financedAmount": 1500,
  "buyerBillingCountry": "FR",
  "solutionCodes": [
    "SCFRSP-3XTS"
  ]
}
{
  "financedAmount": 1500,
  "buyerBillingCountry": "FR",
  "solutionSimulations": [
    {
      "solutionCode": "SCFRSP-3XTS",
      "simulations": {
        "duration": 3,
        "effectiveAnnualPercentageRate": 0,
        "nominalPercentageRate": 0,
        "totalCost": 0,
        "dueTotalAmount": 1500,
        "feesAmount": 0,
        "intallments": [
          {
            "number": 1,
            "amount": 500
          },
          {
            "number": 2,
            "amount": 500
          },
          {
            "number": 3,
            "amount": 500
          }
        ]
      }
    }
  ]
}

Example request and response:

Request
{
    "buyerBillingCountry": "FR",
    "financedAmount": 1500.00,
     "solutionCodes": [
    "SCFRSP-4XTS"
  ]
}
Response
{

    "financedAmount": 1500.0,
    "buyerBillingCountry": "FR",
    "solutionSimulations": [
        {
            "solutionCode": "SCFRSP-4XTS",
            "simulations": [
                {
                    "duration": 4,
                    "effectiveAnnualPercentageRate": 0.0,
                    "nominalPercentageRate": 0.0,
                    "totalCost": 0.0,
                    "dueTotalAmount": 1500.0,
                    "feesAmount": 0.0,
                    "installments": [
                        {
                            "number": 1,
                            "amount": 375.0
                        },
                        {
                            "number": 2,
                            "amount": 375.0
                        },
                        {
                            "number": 3,
                            "amount": 375.0
                        },
                        {
                            "number": 4,
                            "amount": 375.0
                        }
                    ]
                }
            ]
        }
    ]
}

Subscriptions

Initiate a E-Financing subscription at the E-Financing producer side

post

To initiate an E-Financing subscription you will have to collect from your users (some will com from the checkout journey and other from your buyer's profile) the requested parameters including the following :

  • identity,
  • address of the buyer,
  • amount to be financed,
  • payment choosen (product code),
  • basket items details
  • ...

(You'll later be able to refer your E-Financing subsription with either your order id or basket id.)

Upon successful completion you will receive a json with :

  • a subscription Id
  • a redirect URL (managed by the lender) so your customer can proceed with its application journey

Important

In the request body the solutionCode is 1-to-1 mapped to the lenders and their offers. This means the two following information are key for you to choose the correct solutionCode :

  • the buyer's financement type choosed on the checkout page
  • the buyer's location : France or Germmany (more markets to come..)

The detail of solutions codes used are here : https://docs.scalexpert.societegenerale.com/apidocs/3mLlrPx3sPtekcQvEEUg/use-cases/credit#e-financing-solution-codes

Authorizations
Query parameters
languagestringRequired

Requested language of the UI to be used for the application journey on the lender website. de-DE for a HB credit subscriptions (with solution codes starts with SCDELT) and fr-FR for FF credit subscriptions (solution codes start with SCFR..).

Example: de-DE
Body

Credit Subscription Request

solutionCodestringRequired

ID of the BaaS product used

Example: SCFRSP-3XPS
merchantBasketIdstringRequired

ID of the basket of the current transaction, as given by the merchant (third party)

Example: 647aeb24-a89c-11ed-afa1-0242ac120002
merchantGlobalOrderIdstringRequired

ID of the order as a whole - as long as the items are not dispatched separately, with different order IDs (cf. basket table)

Example: 3e46d670-aca7-11ed-afa1-0242ac120002
merchantBuyerIdstringRequired

ID of the buyer (final customer), as given by the merchant (third party)

Example: 44226c6c-aca7-11ed-afa1-0242ac120002
financedAmountnumber · floatRequired

Total amount within the basket which is financed by credit - can represent the whole basket if every item is financed

Example: 119.9
Responses
201
Initiate an E-Financing subscription
application/json
post
POST /baas/uatc/e-financing/api/v1/subscriptions HTTP/1.1
Host: api.scalexpert.uatc.societegenerale.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 2409

{
  "solutionCode": "SCFRSP-3XPS",
  "merchantBasketId": "647aeb24-a89c-11ed-afa1-0242ac120002",
  "merchantGlobalOrderId": "3e46d670-aca7-11ed-afa1-0242ac120002",
  "merchantBuyerId": "44226c6c-aca7-11ed-afa1-0242ac120002",
  "financedAmount": 119.9,
  "merchantUrls": {
    "confirmation": "https://mymerchand.domain/uri"
  },
  "buyers": [
    {
      "birthName": "Dupont",
      "birthDate": "1975-02-01T00:00:00.000Z",
      "birthCityName": "Montpellier",
      "birthCountryName": "FR",
      "deliveryMethod": "Click & Collect",
      "lastDatePurchase": "2020-02-01T00:00:00.000Z",
      "vip": false,
      "contact": {
        "firstName": "Paul",
        "lastName": "Dupont",
        "commonTitle": "MR",
        "email": "[email protected]",
        "mobilePhoneNumber": "+33723456789",
        "phoneNumber": "+33123456789",
        "professionalTitle": "Professor"
      },
      "contactAddress": {
        "locationType": "BILLING_ADDRESS",
        "streetNumber": 147,
        "streetNumberSuffix": "B",
        "streetName": "main street",
        "streetNameComplement": "block 47",
        "zipCode": "92060",
        "cityName": "Paris",
        "regionName": "Île-de-France",
        "countryCode": "FR"
      },
      "billingContact": {
        "firstName": "Paul",
        "lastName": "Dupont",
        "commonTitle": "MR",
        "email": "[email protected]",
        "mobilePhoneNumber": "+33723456789",
        "phoneNumber": "+33123456789",
        "professionalTitle": "Professor"
      },
      "billingAddress": {
        "locationType": "BILLING_ADDRESS",
        "streetNumber": 147,
        "streetNumberSuffix": "B",
        "streetName": "main street",
        "streetNameComplement": "block 47",
        "zipCode": "92060",
        "cityName": "Paris",
        "regionName": "Île-de-France",
        "countryCode": "FR"
      },
      "deliveryContact": {
        "firstName": "Paul",
        "lastName": "Dupont",
        "commonTitle": "MR",
        "email": "[email protected]",
        "mobilePhoneNumber": "+33723456789",
        "phoneNumber": "+33123456789",
        "professionalTitle": "Professor"
      },
      "deliveryAddress": {
        "locationType": "BILLING_ADDRESS",
        "streetNumber": 147,
        "streetNumberSuffix": "B",
        "streetName": "main street",
        "streetNameComplement": "block 47",
        "zipCode": "92060",
        "cityName": "Paris",
        "regionName": "Île-de-France",
        "countryCode": "FR"
      }
    }
  ],
  "basketDetails": {
    "basketItems": [
      {
        "id": "M12345785513211",
        "quantity": 1,
        "model": "5KPM5",
        "label": "ROBOT PÂTISSIER À BOL RELEVABLE 4,8L - HEAVY DUTY 5KPM5",
        "price": 1199.99,
        "currencyCode": "EUR",
        "orderId": "OD456742",
        "brandName": "KitchenAid",
        "description": "Le robot pâtissier à bol relevable très résistant idéal pour mixer de grandes quantités d'ingrédients, équipé d'un bol en acier inoxydable amovible.",
        "specifications": "Puissance (W) 315, Tension (V) 220-240, Fréquence (Hz) 50/60",
        "category": "Small appliance",
        "sku": "ZG011AQA",
        "isFinanced": true
      }
    ]
  }
}
{
  "id": "1b8cb15b-fbd3-4a65-9a39-ab81f6307b81",
  "redirect": {
    "type": "url",
    "value": "text"
  }
}

Retrieve a list of E-Financing subscriptions

get

You can list all your subscriptions by specifying a reference such as an order id or a basket id. the response will contain subscription Id, dates, times, status, your references, amount financed ... Main use case: Use this API to retrieve status a credit subscription by refering an order Id or a basket Id. Important: The list is paginated

Authorizations
Query parameters
merchantGlobalOrderIdstringOptional

ID of the order as a whole - as long as the items are not dispatched separately, with different orders ID.

Example: 340005489
merchantBasketIdstringOptional

ID of the basket of the current transaction, as given by the merchant (thirdparty)

Example: 185462145
pageinteger · int32Optional

The page number

Default: 1Example: 1
pageSizeinteger · int32Optional

The number of elements per page

Default: 20Example: 20
Responses
200
List of credit subscriptions
application/json
get
GET /baas/uatc/e-financing/api/v1/subscriptions HTTP/1.1
Host: api.scalexpert.uatc.societegenerale.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
  "totalItemCount": 1,
  "subscriptions": [
    {
      "creditSubscriptionId": "123e4567-e89b-12d3-a456-426614174000",
      "registrationTimestamp": "2024-04-22T10:00:19.077Z",
      "lastUpdateTimestamp": "2024-04-22T10:00:19.077Z",
      "solutionCode": "SCFRSP-4XPS",
      "marketTypeCode": "FR",
      "implementationCode": "4X",
      "merchantBasketId": "061be358-acb1-11ed-afa1-0242ac120002",
      "merchantGlobalOrderId": "0c34ab62-acb1-11ed-afa1-0242ac120002",
      "buyerFinancedAmount": 1199.99,
      "consolidatedStatus": "ACCEPTED",
      "cancellationStatus": "REQUEST_FOR_PARTIAL_CANCELLATION",
      "cancellationAlreadyMade": false,
      "consolidatedSubstatus": "SUBSCRIPTION APPROVED BY PRODUCER",
      "isDelivered": true,
      "isReturned": true
    }
  ]
}

Retrieve a specific E-Financing subscription

get

You can use this API to get all details of a E-Financing subscription. You will have to provide a E-Financing subscription Id previously obtained as listed or initiated.

Authorizations
Path parameters
creditSubscriptionIdstring · uuidRequired

The unique E-financement Subscription Id

Responses
200
Specific E-Financing subscription
application/json
get
GET /baas/uatc/e-financing/api/v1/subscriptions/{creditSubscriptionId} HTTP/1.1
Host: api.scalexpert.uatc.societegenerale.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
  "creditSubscriptionId": "123e4567-e89b-12d3-a456-426614174000",
  "registrationTimestamp": "2024-04-22T10:00:19.077Z",
  "lastUpdateTimestamp": "2024-04-22T10:00:19.077Z",
  "solutionCode": "SCFRSP-4XPS",
  "familyCode": "SC",
  "marketTypeCode": "FR",
  "implementationCode": "4X",
  "merchantBasketId": "647aeb24-a89c-11ed-afa1-0242ac120002",
  "merchantGlobalOrderId": "3e46d670-aca7-11ed-afa1-0242ac120002",
  "merchantBuyerId": "44226c6c-aca7-11ed-afa1-0242ac120002",
  "financedAmount": 119.9,
  "consolidatedStatus": "ACCEPTED",
  "cancellationStatus": "REQUEST_FOR_PARTIAL_CANCELLATION",
  "cancellationAlreadyMade": false,
  "buyer": {
    "birthName": "Dupont",
    "birthDate": "1975-02-01T00:00:00.000Z",
    "birthCityName": "Montpellier",
    "birthCountryName": "FR",
    "deliveryMethod": "Click & Collect",
    "lastDatePurchase": "2020-02-01T00:00:00.000Z",
    "vip": false,
    "contact": {
      "firstName": "Paul",
      "lastName": "Dupont",
      "commonTitle": "MR",
      "email": "[email protected]",
      "mobilePhoneNumber": "+33723456789",
      "phoneNumber": "+33123456789",
      "professionalTitle": "Professor"
    },
    "contactAddress": {
      "locationType": "BILLING_ADDRESS",
      "streetNumber": 147,
      "streetNumberSuffix": "B",
      "streetName": "main street",
      "streetNameComplement": "block 47",
      "zipCode": "92060",
      "cityName": "Paris",
      "regionName": "Île-de-France",
      "countryCode": "FR"
    },
    "billingContact": {
      "firstName": "Paul",
      "lastName": "Dupont",
      "commonTitle": "MR",
      "email": "[email protected]",
      "mobilePhoneNumber": "+33723456789",
      "phoneNumber": "+33123456789",
      "professionalTitle": "Professor"
    },
    "billingAddress": {
      "locationType": "BILLING_ADDRESS",
      "streetNumber": 147,
      "streetNumberSuffix": "B",
      "streetName": "main street",
      "streetNameComplement": "block 47",
      "zipCode": "92060",
      "cityName": "Paris",
      "regionName": "Île-de-France",
      "countryCode": "FR"
    },
    "deliveryContact": {
      "firstName": "Paul",
      "lastName": "Dupont",
      "commonTitle": "MR",
      "email": "[email protected]",
      "mobilePhoneNumber": "+33723456789",
      "phoneNumber": "+33123456789",
      "professionalTitle": "Professor"
    },
    "deliveryAddress": {
      "locationType": "BILLING_ADDRESS",
      "streetNumber": 147,
      "streetNumberSuffix": "B",
      "streetName": "main street",
      "streetNameComplement": "block 47",
      "zipCode": "92060",
      "cityName": "Paris",
      "regionName": "Île-de-France",
      "countryCode": "FR"
    }
  },
  "basketDetails": "FR",
  "consolidatedSubstatus": "SUBSCRIPTION APPROVED BY PRODUCER",
  "isReturned": true,
  "isDelivered": true
}

Delivery

Confirm delivery of the items related to a specific creditSubscriptionId

post

Confirm delivery of the items related to a specific creditSubscriptionId. Needed for long term credits only

Authorizations
Path parameters
creditSubscriptionIdstring · uuidRequired

The unique E-financement Subscription Id

Body
isDeliveredbooleanRequired

Refers to the request to use to confirm the delivery of the items

Example: true
trackingNumberstring · min: 1 · max: 100Optional

The delivery identifier

Example: 12349875641919191000
operatorstring · enumOptional

The delivery company

Example: DHLPossible values:
Responses
204
request accepted but not processed (short term credit)
application/json
Responseobject
post
POST /baas/uatc/e-financing/api/v1/subscriptions/{creditSubscriptionId}/_confirmDelivery HTTP/1.1
Host: api.scalexpert.uatc.societegenerale.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 77

{
  "isDelivered": true,
  "trackingNumber": "12349875641919191000",
  "operator": "DHL"
}
{}

Confirm that the customer has returned the delivered items to the merchant.

post
  • Confirm that the customer has returned the delivered items to the merchant.
  • This endpoint is only usefull for long-term credit.
  • This request is a prerequisite of the cancel request.
Authorizations
Path parameters
creditSubscriptionIdstring · uuidRequired

The unique Credit Subscription Id

Body

Request indicating whether or not the customer returned the items to the merchant

isReturnedbooleanRequired

Items was returned or not from the customer to the merchant

Example: true
Responses
204
Subscription is successfully updated.
application/json
Responseobject
post
POST /baas/uatc/e-financing/api/v1/subscriptions/{creditSubscriptionId}/_confirmReturn HTTP/1.1
Host: api.scalexpert.uatc.societegenerale.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 19

{
  "isReturned": true
}
{}

Cancellations

Request for a cancellation for a specific E-Financing subscription

post

Request for a cancellation request for a specific E-Financing subscription. Your request is different according the subscription kind (solution code)

Authorizations
Path parameters
creditSubscriptionIdstring · uuidRequired

The unique Credit Subscription Id

Body
cancelledAmountnumber · floatOptional

Amount cancelled asked. It will stored on the event table and deducted from the initial financed amount.

Example: 119.9
cancelledItemstringOptional

ID of a specific item within the basket

Example: M12345785513211
cancellationReasonstringOptional

The reason why the credit is cancelled in the transacation

Example: The item is too big for my kitchen
Responses
200
Credit cancellation confirmation response
application/json
post
POST /baas/uatc/e-financing/api/v1/subscriptions/{creditSubscriptionId}/_cancel HTTP/1.1
Host: api.scalexpert.uatc.societegenerale.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 242

{
  "cancelledAmount": 119.9,
  "cancelledItem": "M12345785513211",
  "cancellationReason": "The item is too big for my kitchen",
  "cancellationContact": {
    "lastName": "Dupont",
    "firstName": "Paul",
    "email": "[email protected]",
    "phoneNumber": "09 55 55 66 66"
  }
}
{
  "financedAmount": 119.9,
  "status": "ACCEPTED"
}

Download OpenAPI specs:

YAML test (UATC) file
YAML production file

Last updated

Was this helpful?