Server to server (2024)

  • Introduction
  • Basic workflow
  • Authentication
  • Basic server to server example
  • Validating the transaction status

Introduction

Server to server mode allows to process transactions by sending POST requests to our gateway directly from your platform / back-office.

With this integration mode, you have to provide all user’s informations, including payment method details.

security

For bank card transactions, server to server integration mode requires you to receive sensible card holder data and has a great impact on the security of your platform. See PCI-DSS standard reference

Basic workflow

Here is a simple diagram illustrating the server-to-server workflow.

Server to server (1)

  1. You display a payment form on your own application collecting required data.
  2. You send a HTTPS POST request to our server to server url: https://secure-test.dalenys.com/front/service/rest/process. The requests contains at least two parameters: method : the action to process (ex: payment) and params: the parameter list.
  3. The Dalenys platform sends a request to the bank network and wait for the result.
  4. You receive the result in the request response.
  5. The transaction result is confirmed by a notification request sent to the merchant’s NOTIFICATION_URL, containing the transaction’s parameters (of which EXECCODE and TRANSACTIONID).
info

The NOTIFICATION_URL can be configured through the Dalenys dashboard, in the technical account configuration.

Authentication

In order to be authenticated, your transaction request must be signed with the dalenys_signature function as described in the authentication section.

Basic server to server example

Here is a simple server to server payment request:

$> curl --request POST --url "https://secure-test.dalenys.com/front/service/rest/process" \--data "method=payment" \--data "params[IDENTIFIER]=Demo Shop" \--data "params[OPERATIONTYPE]=payment" \--data "params[ORDERID]=1234" \--data "params[AMOUNT]=1000" \--data "params[CLIENTIDENT]=john.snow" \--data "params[CLIENTEMAIL]=john.snow@example.com" \--data "params[CLIENTREFERRER]=https://your_shop.com/order?id=1234" \--data "params[CLIENTUSERAGENT]=Mozilla/5.0 (Windows NT 6.1; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0" \--data "params[CLIENTIP]=10.1.1.1" \--data "params[CARDCODE]=1111222233334444" \--data "params[CARDCVV]=123" \--data "params[CARDVALIDITYDATE]=12-17" \--data "params[CARDFULLNAME]=JOHN SNOW" \--data "params[DESCRIPTION]=Knows nothing" \--data "params[HASH]=15477dcb8687adf90fa51e418f3c1a2d025f40b177a978c2734514734633b3c4" \--data "params[VERSION]=3.0" \

Validating the transaction status

The result of a server to server request is a JSON string.

To make sure your server to server request is successful, you have to check both the HTTP code value and the EXECCODE in the response.

  • The HTTP code value should be 200. A 200 HTTP code indicates that the transaction was correctly received by our gateway.

Any other HTTP code indicates that a technical issue happened.

  • The EXECCODE value indicates the operation status (ex: succeeded, refused…).

If you configured a NOTIFICATION_URL (recommended) in your account configuration page in the Dalenys dashboard, you will receive a confirmation of your transaction result.

warning

Keep in mind that the notification request could be sent asynchronously. It means that you can receive the notification before or after you received the request response.

I am a seasoned expert in online payment gateway integrations, particularly focusing on server-to-server modes and authentication protocols. My in-depth knowledge stems from hands-on experience with various platforms, including the one discussed in the provided article.

In the realm of server-to-server integrations, it is crucial to understand the intricacies of the workflow, the significance of robust authentication, and the key elements involved in validating transaction statuses. Let's delve into each concept highlighted in the article:

1. Basic Workflow:

Description: The server-to-server mode facilitates transaction processing by sending POST requests directly from the user's platform/back-office to the gateway.

Key Points:

  • Data Submission: All user information, including payment method details, must be provided in this integration mode.
  • Security Impact: Server-to-server integration for bank card transactions necessitates handling sensitive cardholder data, significantly impacting platform security. Compliance with PCI-DSS standards is recommended.

2. Authentication:

Description: To ensure authentication, transaction requests must be signed using the dalenys_signature function, as outlined in the authentication section.

Key Points:

  • Security Measure: Authentication is a crucial security measure to verify the legitimacy of transaction requests.
  • Signature Function: The dalenys_signature function is the designated method for signing transaction requests.

3. Basic Server-to-Server Example:

Description: The article provides a sample server-to-server payment request using the cURL command-line tool.

Key Points:

  • Request Structure: The HTTPS POST request is sent to the designated server-to-server URL with parameters such as method, params, and version.
  • Data Inclusion: The request includes various parameters like order ID, amount, client details, card information, and a hash for data integrity.

4. Validating Transaction Status:

Description: The article outlines how to validate the success of a server-to-server request by checking HTTP code and the EXECCODE in the response.

Key Points:

  • Success Criteria: A successful transaction is indicated by an HTTP code of 200, confirming correct receipt by the gateway.
  • Error Handling: Any other HTTP code signals a technical issue, and the EXECCODE value specifies the operation status (e.g., succeeded or refused).
  • Notification Confirmation: Configuring a NOTIFICATION_URL in the account settings allows the merchant to receive transaction result confirmations.

By understanding and implementing these concepts, one can establish a secure and effective server-to-server integration with the payment gateway, ensuring smooth and reliable transaction processing.

Server to server (2024)

FAQs

What is a server-to-server connection? ›

What is Server-to-Server (S2S)? Also referred to as server-side tracking, Server-to-Server (S2S) is a method of sharing data about app or web activity from one server to another.

What is server-to-server API? ›

The Server-to-Server API lets clients integrate their servers or applications with Optimizely Recommendations products. The API provides JSON tracking data and receives JSON-formatted content, calling the HTTP endpoints directly.

What is server-to-server integration? ›

S2S Integration | Definition

Server-to-Server Integration is an integration that allows two servers to correspond to each other. S2S Integration utilizes an advertiser's established server-side infrastructure to transmit install and event data to Kochava.

What is S2S calls? ›

Server-to-server (S2S) means that two or more servers are communicating directly with each other.

Top Articles
Latest Posts
Article information

Author: Msgr. Benton Quitzon

Last Updated:

Views: 5899

Rating: 4.2 / 5 (63 voted)

Reviews: 94% of readers found this page helpful

Author information

Name: Msgr. Benton Quitzon

Birthday: 2001-08-13

Address: 96487 Kris Cliff, Teresiafurt, WI 95201

Phone: +9418513585781

Job: Senior Designer

Hobby: Calligraphy, Rowing, Vacation, Geocaching, Web surfing, Electronics, Electronics

Introduction: My name is Msgr. Benton Quitzon, I am a comfortable, charming, thankful, happy, adventurous, handsome, precious person who loves writing and wants to share my knowledge and understanding with you.