Communication from your server to our platform is performed by sending key-value-pairs via secure channel per HTTP Post request. In return, your application will receive a response string containing the result of your request. For sending the request to us, we recommend using a cURL wrapper that sends an array as key-value-pairs. The response are key value pairs delimited by EOL breaks, which can easily be parsed into an array.
Requirements
An active PAYONE - Account is required. If you do not have one yet, please contact us.
Communication Principles
Getting Started
Data transfer
In order to send data to Payone, the content type must be set to "application/x-www-form-urlencoded".
The data transfer is based on HTTPS-POST request (key/value pairs).
API Endpoint
The requests must be sent to the following URL: API URL: https://api.pay1.de/post-gateway/.
Our sample request throughout the docs favor readability over technical accuracy, so we'll show the sample requests as multiple lines, even though the content is technically x-www-form-urlencoded.
Receiving Data from PAYONE
The return of the data is based on a line-by-line basis. The name of the parameter is separated from the parameter value with an equal sign ("=").
Parameters and their possible values are presented as tables. Here's how to read them:
The parameter name as you need to send it
required
optional
a short explanation of what the parameter does plus format definitions. Formats can be:
Format:
CHAR(1..255)
Permitted Symbols:
[a-z][0-9],.-
any string with a length of one to 255 characters and conditionally allowed characters as regex
Format:
NUMERIC(1..10))
Only numbers allowed
Format:
LIST
choose from a list of permitted values
Standard or Default parameter
The following parameters are mandatory for each request. They identify you as a merchant and ensure that only authorized API requests are processed by our platform. You can find the parameters in our PMI:
mid
required
Merchant ID, defined by PAYONE
Format:
NUMERIC(5..6)
portalid
required
Portal ID, defined by PAYONE
Format:
NUMERIC(7)
key
required
Payment portal key as MD5 or as SHA2-384 value. The key is used to check the authentification of the sender (either your system for sending requests or PAYONE platform for sending notifications).
Format:
SHA2-384 (Recommended) : CHAR(1..96) lowercase
Permitted Symbols:
[0-9,a-z]
api_version
required
New parameter api_version should be added to current implementations as it will be mandatory in future.
Format:
LIST
api version
Comment
Description
3.8
Current API-version (Default if not present)
3.9
New API-version from 2015-01-05
New response “pending” added for “preauthorization” / “authorization”
3.10
New API-version from 2016-06-01
Response for “customermessage” can be more specific in case of error by containing detailed error messages from external payment gateways (e.g. Ratepay, …)
3.11
New API-version from 2018-02-01
Request “capture” with response “pending” Announcement for upcoming request “refund” / response “pending” Announcement for upcoming request “createaccess” / response “pending”
mode
required
Mode for transactions, either ‘live’ or ‘test’
Format:
LIST
live
Transaction should be performed in live mode.
test
Transaction should be simulated.
request
required
MThe type of request you would like to perform
Format:
LIST Link: Request overview page
encoding
optional
The type of character encoding used in the request.
Format:
LIST
ISO-8859-1
Default if not specified
UTF-8
current standart, but not default
Personal parameter
Additionally, some information about the customer can be transmitted. For details about the individual parameters and more parameters that are available but not listed here, please refer to the Server API Description.
Order Details
We need also information about the order and the choosen payment method.
For details about the individual parameters and more parameters that are available but not listed here, please refer to the Server API Description.
Where to go from here
This intro is just the tip of the iceberg. For online bank transfer like Sofort.com, you'll need to redirect the customer to an URL specified in the response. For credit card processing, you'll need to setup a HTML container for input fields made available through our invisible iFrame integration and make sure your system never comes in contact with genuine credit card data. PAYONE will provide you with a pseudo card number that you can use to preauthorize and capture transactions just like in the examples below:
Preauthorization
This set of parameters would tell PAYONE to create an order with the above mentioned personal data. For detailed information Server API - Preauthorization
Capture
Once the shipment is ready, the order can be captured. Capturing indicates that the order should be finalized in terms of bookkeeping and, if applicable, that the money can be transferred (i.e. for credit card payments or direct debit, see below):
The sequencenumber parameter ensures that all transaction status notifications have been processed before new requests can be sent to our API. It is incremented with each pair of request and transaction status notification. For the preauthorization request it is always implied as 0 and must not be sent. For detailed information Server API - Capture