Create a payment
POST/v1/payments
To create a payment, you use a payment resource. It's a reference to the actual payment that happens at the payment gateway.
Request
Header Parameters
The Signature header is used to ensure the request’s body integrity and to confirm that its content has not changed.
Possible values: <= 45 characters
A unique identifier used to ensure idempotent behavior. If the business application request fails or you receive a timeout you can retry the request with the same Idempotency-Key to guarantee that only one business object is created.
The User-Agent request header contains a characteristic string that allows the network protocol peers to identify the application type, operating system, software vendor or software version of the requesting software user agent.
The Accept request HTTP header advertises which content types, expressed as MIME types, the client is able to understand. Can be set to */*
.
The Content-Type entity header is used to indicate the media type of the resource.
- application/json
Body
Array [
]
A positive integer in the smallest currency unit between 1.00PLN and 1,000,000.00PLN.
Possible values: <= 10 characters
, >= 100
and <= 100000000
Important: Currently
EUR
,USD
,GBP
,CZK
currencies are supported only for card payments.If you are interested in processing card payments in foreign currencies, please contact us at support@paynow.pl
Possible values: [PLN
, EUR
, USD
, GBP
, CZK
]
PLN
Unique identifier given by Merchant to this payment request
Possible values: <= 100 characters
Payment description displayed in the web interface
Possible values: <= 255 characters
The URL that the buyer will be redirected to, after making payment. This URL overrides return_url
value from PoS configuration
Possible values: <= 1000 characters
buyer
object
required
Information about the buyer
Buyer's e-mail address
Possible values: <= 50 characters
Buyer's first name
Possible values: <= 50 characters
Buyer's last name
Possible values: <= 50 characters
phone
object
Phone number with country calling code
Must consist of 2-4 digits preceded by a plus (+) character
Possible values: <= 5 characters
Possible values: <= 10 characters
Buyer's language tag compliant with BCP47/RFC5646.
Possible values: <= 35 characters
pl-PL
Buyer's external system identifier
Possible values: <= 100 characters
orderItems
object[]
List of order items
Item`s name
Possible values: <= 120 characters
Producer`s name
Possible values: <= 120 characters
Item`s category
Possible values: <= 1000 characters
Quantity
Possible values: <= 10 characters
Single item price in the smallest currency unit
Possible values: <= 10 characters
Timeout for transaction execution [seconds]
Possible values: >= 60
and <= 864000
Payout account for Mass Collect, overriding default payout account; required only in Mass Collect payments
Possible values: <= 30 characters
Responses
- 201
- 400
- 401
- 404
- 500
- 503
Created
- application/json
- Schema
- Example (from schema)
Schema
Address to redirect the buyer in case of authorizing payment on provider site
Unique ID of a payment generated by Paynow
Status of the payment right after submitting a payment request. More information you can find here
Possible values: [NEW
, PENDING
, ERROR
]
{
"redirectUrl": "https://api.sandbox.paynow.pl/.......",
"paymentId": "PBLX-123-435-213"
}
Bad request
- application/json
- Schema
- Example (from schema)
- Example
Schema
Array [
]
Error status code
errors
object[]
required
Error type
Possible values: [CONFLICT
, FORBIDDEN
, NOT_FOUND
, RATE_LIMIT_REACHED
, SYSTEM_TEMPORARILY_UNAVAILABLE
, UNAUTHORIZED
, VALIDATION_ERROR
, VERIFICATION_FAILED
, PAYMENT_METHOD_NOT_AVAILABLE
, PAYMENT_AMOUNT_TOO_SMALL
, PAYMENT_AMOUNT_TOO_LARGE
, IDEMPOTENCY_KEY_MISSING
, SIGNATURE_MISSING
]
Error description
{
"statusCode": 0,
"errors": [
{
"errorType": "CONFLICT",
"message": "string"
}
]
}
{
"statusCode": 400,
"errors": [
{
"errorType": "VALIDATION_ERROR",
"message": "Missing field XXX"
},
{
"errorType": "VALIDATION_ERROR",
"message": "Invalid format of field YYY"
}
]
}
Unauthorized, invalid or missing credentials
- application/json
- Schema
- Example (from schema)
- Example
Schema
Array [
- UnauthorizedErrorDetails
]
Error status code
errors
object[]
required
oneOf
Error type
Possible values: [UNAUTHORIZED
]
Error description
{
"statusCode": 0,
"errors": [
{}
]
}
{
"statusCode": 401,
"errors": [
{
"errorType": "UNAUTHORIZED",
"message": "Unauthorized, invalid or missing credentials"
}
]
}
Not found
- application/json
- Schema
- Example (from schema)
- Example
Schema
Array [
]
Error status code
errors
object[]
required
Error type
Possible values: [NOT_FOUND
]
Error description
{
"statusCode": 0,
"errors": [
{
"errorType": "NOT_FOUND",
"message": "string"
}
]
}
{
"statusCode": 404,
"errors": [
{
"errorType": "NOT_FOUND",
"message": "Resource not found"
}
]
}
Internal server error
- application/json
- Schema
- Example (from schema)
- Example
Schema
Array [
]
Error status code
errors
object[]
required
Error type
Possible values: [INTERNAL_SERVER_ERROR
]
Error description
{
"statusCode": 0,
"errors": [
{
"errorType": "INTERNAL_SERVER_ERROR",
"message": "string"
}
]
}
{
"statusCode": 500,
"errors": [
{
"errorType": "INTERNAL_SERVER_ERROR",
"message": "Internal server error"
}
]
}
Service is temporarily unavailable
- application/json
- Schema
- Example (from schema)
- Example
Schema
Array [
]
Error status code
errors
object[]
required
Error type
Possible values: [SYSTEM_TEMPORARILY_UNAVAILABLE
]
Error description
{
"statusCode": 0,
"errors": [
{
"errorType": "SYSTEM_TEMPORARILY_UNAVAILABLE",
"message": "string"
}
]
}
{
"statusCode": 503,
"errors": [
{
"errorType": "SYSTEM_TEMPORARILY_UNAVAILABLE",
"message": "Service is temporarily unavailable"
}
]
}