Skip to main content

PyPI version

Welcome to python-redsys!

A simple, clean and less dependant client to handle payments through the Redsys platform using one of the available methods: redirect connection or (secure method).

The purpose of this library is to provide a normalized interface between Redsys and other Python applications.

About RedirectClient

Although redirect connection depends on a webserver to resolve the communication step, the RedirectClient provided in this library does not assume any kind of procedure to resolve that step; it merely prepares the necessary parameters to make a request and handles the corresponding response parameters. That's what less dependant means.

Example using redirect connection

0. Install python-redsys

You can add python-redsys to your project with pip:

pip install python-redsys

Or with poetry:

poetry add python-redsys

1. Instantiate the redirect client

from decimal import Decimal as D, ROUND_HALF_UP
from redsys.constants import EUR, STANDARD_PAYMENT
from redsys.client import RedirectClient

secret_key = "123456789abcdef"
client = RedirectClient(secret_key)

2. Set up the request parameters

parameters = {
  "merchant_code": "100000001",
  "terminal": "1",
  "transaction_type": STANDARD_PAYMENT,
  "currency": EUR,
  "order": "000000001",
  "amount": D("10.56489").quantize(D(".01"), ROUND_HALF_UP),
  "merchant_data": "test merchant data",
  "merchant_name": "Example Commerce",
  "titular": "Example Ltd.",
  "product_description": "Products of Example Commerce",
  "merchant_url": "https://example.com/redsys/response",
}

3. Prepare the request

This method returns a dict with the necessary post parameters that are needed during the communication step.

args = client.prepare_request(parameters)

4. Communication step

Redirect the user-agent to the corresponding Redsys' endpoint using the post parameters given in the previous step.

After the payment process is finished, Redsys will respond making a request to the merchant_url defined in step 2.

5. Create and check the response

Create the response object using the received parameters from Redsys. The method create_response() throws a ValueError in case the received signature is not equal to the calculated one using the given merchant_parameters. This normally means that the response is not coming from Redsys or that it has been compromised.

signature = "YqFenHc2HpB273l8c995...."
merchant_parameters = "AndvIh66VZdkC5TG3nYL5j4XfCnFFbo3VkOu9TAeTs58fxddgc..."
response = client.create_response(signature, merchant_parameters)
if response.is_paid:
    # Do the corresponding actions after a successful payment
else:
    # Do the corresponding actions after a failed payment
    raise Exception(response.code, response.message)

Methods for checking the response:

According to the Redsys documentation:

  • response.is_paid: Returns True if the response code is between 0 and 99 (both included).
  • response.is_canceled: Returns True if the response code is 400.
  • response.is_refunded: Returns True if the response code is 900.
  • response.is_authorized: Returns True if the response is paid, refunded or canceled.

Also, you can directly access the code or the message defined in Redsys documentation using response.code or response.message.

Contributions

Please, feel free to send any contribution that maintains the less dependant philosophy.

Metadata

Release files for python-redsys 1.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for python-redsys 1.2.1
File Size Uploaded
python_redsys-1.2.1.tar.gz 11.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for python-redsys 1.2.1
File Interpreter ABI Platform
python_redsys-1.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 24.2 kB

Release files / python_redsys-1.2.1.tar.gz

Download URL python_redsys-1.2.1.tar.gz
Size 11.0 kB
Tags Source
SHA-256 checksum
How to use checksums
9e31c6ec29c12854688dd8717749678b0aee22f43c9ba9045ca85d38563905d2
BLAKE2b-256 checksum
How to use checksums
cd6fd6cf554a59274f6dbae1633e71f3bb40abc9a339f42af7ba6ac15cf6cdca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 4, 2026.

Transparency log

Release files / python_redsys-1.2.1-py3-none-any.whl

Download URL python_redsys-1.2.1-py3-none-any.whl
Size 13.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f12bb9e3a218ad67ea27b3293caecd0ea48453dbb69045364c7a3f0073bd78c4
BLAKE2b-256 checksum
How to use checksums
d36049ca1143bd7d9653bf0bda6a9f41d52d0c4755e3b2e37d5a06247618ca96
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 4, 2026.

Transparency log

Release history Release notifications | RSS feed

1.2.2

2 release files

This release

1.2.1 This release

2 release files

1.2.0

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page