Pagos con Tarjeta
Acepte de forma segura pagos con tarjeta de crédito y débito, tanto locales como internacionales, en todo el mundo.
Un pago con tarjeta se inicia cuando su cliente selecciona el pago con tarjeta desde su lista de métodos de pago o ingresa los datos de su tarjeta en los campos del formulario de tarjeta.
La iniciación de un pago con tarjeta consta de lo siguiente:
Monto de autorización.
captura exitosa de la transacción autorizada.
De forma predeterminada, todos los pagos con tarjeta se capturan inmediatamente después de la autorización; sin embargo, en algunos casos se puede utilizar un proceso de captura posterior para retener los fondos.
El proceso de pago con tarjeta que se describe a continuación explica cómo:
Agregar pagos con tarjeta locales e internacionales a su proceso de pago.
Completar una autorización de pago con tarjeta única.
Capturar la transacción.
La forma de encontrar los métodos específicos de pago con tarjeta que aceptará y los campos requeridos correspondientes que los clientes deben completar se describe en Cómo funciona.

El cliente completa el pago con tarjeta en el proceso de pago de su sitio web.
Un proveedor de tokens de terceros solicita un token de red.
Usted solicita a Rapyd que procese el pago con tarjeta utilizando un token de red.
Rapyd procesa el pago y le envía la respuesta y el webhook.
Usted muestra la página de compra exitosa al cliente.
Certificación PCI
Solo los clientes con certificación PCI-DSS pueden manejar información de identificación personal de tarjetas. Este método está disponible para los comercios que han firmado un acuerdo especial con Rapyd.
Decida los tipos de pago con tarjeta que aceptará en un país determinado. Utilice Listar métodos de pago por país con los siguientes parámetros:
En los ejemplos de código a continuación, se utilizan GB y GBP como país y moneda. Tarjeta Visa GB como tipo de pago.
Descripción de los Parámetros de Consulta
Parámetro de consulta | Descripción |
|---|---|
País | Ingrese GB como el código del país. |
Moneda | Ingrese GBP como el código de la moneda. |
Solicitud de Listar Métodos de Pago por País
Solicitud
// Request URL: GET https://sandboxapi.rapyd.net/v1/payment_methods/country?country=GB¤cy=GBP // Message body absent
.NET Core
using System; namespace RapydApiRequestSample { class Program { static void Main(string[] args) { try { string result = RapydApiRequestSample.Utilities.MakeRequest("GET", "/v1/payment_methods/country?country=GB¤cy=GBP"); Console.WriteLine(result); } catch (Exception e) { Console.WriteLine("Error completing request: " + e.Message); } } } }
JavaScript
const makeRequest = require('<path-to-your-utility-file>/utilities').makeRequest; async function main() { try { const result = await makeRequest('GET', '/v1/payment_methods/country?country=GB¤cy=GBP'); console.log(result); } catch (error) { console.error('Error completing request', error); } }
PHP
<?php $path = $_SERVER['DOCUMENT_ROOT']; $path .= "/<path-to-your-utility-file>/utilities.php"; include($path); try { $object = make_request('get', '/v1/payment_methods/country?country=GB¤cy=GBP'); var_dump($object); } catch (Exception $e) { echo "Error: $e"; } ?>
Python
from pprint import pprint from utilities import make_request country = 'GB' currency = 'GBP' results = make_request(method='get', path=f'/v1/payment_methods/country?country={country}¤cy={currency}') pprint(results)
Respuesta de Listar Métodos de Pago por País
Respuesta
{ "status": { "error_code": "", "status": "SUCCESS", "message": "", "response_code": "", "operation_id": "cfa35a73-aa0b-4e7e-839c-4c3b6149edd7" }, "data": [{ "type": "gb_visa_card", "name": "Visa", "category": "card", "image": "https://iconslib.rapyd.net/checkout/gb_visa_card.png", "country": "GB", "payment_flow_type": "", "currencies": [ "AED", "AUD", "BGN", "BOB", "BRL", "CHF", "CNY", "COP", "CZK", "DKK", "EUR", "GBP", "GEL", "HKD", "HRK", "HUF", "IDR", "ILS", "INR", "ISK", "JPY", "KZT", "MDL", "MXN", "MYR", "NOK", "NZD", "PEN", "PHP", "PLN", "RON", "RSD", "RUB", "SEK", "SGD", "THB", "TRY", "TWD", "UAH", "USD", "UYU", "ZAR" ], "status": 1, "is_cancelable": true, "payment_options": [ { "name": "description", "type": "string", "regex": "", "description": "the description field must be filled in.", "is_required": false, "is_updatable": false }, { "name": "capture", "type": "boolean", "regex": "", "description": "Determines when the payment is processed for capture.", "is_required": false, "is_updatable": false }, { "name": "complete_payment_url", "type": "string", "regex": "", "description": "the complete_payment_url field must be filled in.", "is_required": true, "is_updatable": false }, { "name": "error_payment_url", "type": "string", "regex": "", "description": "the error_payment_url field must be filled in.", "is_required": true, "is_updatable": false }, { "name": "customer", "type": "string", "regex": "", "description": "ID of a customer object, a string starting with ‘cus_‘. The customer object must contain the fields listed as required, and can contain additional fields listed here.If the customer object does not exist yet, use ‘Create Customer‘", "is_required": false, "is_updatable": false } ], "is_expirable": true, "is_online": false, "is_refundable": true, "minimum_expiration_seconds": 600, "maximum_expiration_seconds": 604800, "virtual_payment_method_type": "card", "is_virtual": false, "multiple_overage_allowed": false, "amount_range_per_currency": [ { "currency": "AED", "maximum_amount": null, "minimum_amount": null }, { "currency": "AUD", "maximum_amount": null, "minimum_amount": null }, { "currency": "BGN", "maximum_amount": null, "minimum_amount": null }, { "currency": "BOB", "maximum_amount": null, "minimum_amount": null }, { "currency": "BRL", "maximum_amount": null, "minimum_amount": null }, { "currency": "CHF", "maximum_amount": null, "minimum_amount": null }, { "currency": "CNY", "maximum_amount": null, "minimum_amount": null }, { "currency": "COP", "maximum_amount": null, "minimum_amount": null }, { "currency": "CZK", "maximum_amount": null, "minimum_amount": null }, { "currency": "DKK", "maximum_amount": null, "minimum_amount": null }, { "currency": "EUR", "maximum_amount": null, "minimum_amount": null }, { "currency": "GBP", "maximum_amount": null, "minimum_amount": null }, { "currency": "GEL", "maximum_amount": null, "minimum_amount": null }, { "currency": "HKD", "maximum_amount": null, "minimum_amount": null }, { "currency": "HRK", "maximum_amount": null, "minimum_amount": null }, { "currency": "HUF", "maximum_amount": null, "minimum_amount": null }, { "currency": "IDR", "maximum_amount": null, "minimum_amount": null }, { "currency": "ILS", "maximum_amount": null, "minimum_amount": null }, { "currency": "INR", "maximum_amount": null, "minimum_amount": null }, { "currency": "ISK", "maximum_amount": null, "minimum_amount": null }, { "currency": "JPY", "maximum_amount": null, "minimum_amount": null }, { "currency": "KZT", "maximum_amount": null, "minimum_amount": null }, { "currency": "MDL", "maximum_amount": null, "minimum_amount": null }, { "currency": "MXN", "maximum_amount": null, "minimum_amount": null }, { "currency": "MYR", "maximum_amount": null, "minimum_amount": null }, { "currency": "NOK", "maximum_amount": null, "minimum_amount": null }, { "currency": "NZD", "maximum_amount": null, "minimum_amount": null }, { "currency": "PEN", "maximum_amount": null, "minimum_amount": null }, { "currency": "PHP", "maximum_amount": null, "minimum_amount": null }, { "currency": "PLN", "maximum_amount": null, "minimum_amount": null }, { "currency": "RON", "maximum_amount": null, "minimum_amount": null }, { "currency": "RSD", "maximum_amount": null, "minimum_amount": null }, { "currency": "RUB", "maximum_amount": null, "minimum_amount": null }, { "currency": "SEK", "maximum_amount": null, "minimum_amount": null }, { "currency": "SGD", "maximum_amount": null, "minimum_amount": null }, { "currency": "THB", "maximum_amount": null, "minimum_amount": null }, { "currency": "TRY", "maximum_amount": null, "minimum_amount": null }, { "currency": "TWD", "maximum_amount": null, "minimum_amount": null }, { "currency": "UAH", "maximum_amount": null, "minimum_amount": null }, { "currency": "USD", "maximum_amount": null, "minimum_amount": null }, { "currency": "UYU", "maximum_amount": null, "minimum_amount": null }, { "currency": "ZAR", "maximum_amount": null, "minimum_amount": null } ], "is_tokenizable": false, "supported_digital_wallet_providers": [ "google_pay" ], "is_restricted": false, "supports_subscription": true }, } ] }
Utilice Obtener campos requeridos del método de pago con el siguiente parámetro:
La sección datos de esta respuesta muestra que una tarjeta Visa es un tipo de método de pago aceptable.
Nota: Una respuesta real generalmente enumera muchos tipos de métodos de pago.
Descripción de los Parámetros de Ruta
Parámetro de ruta | Descripción |
|---|---|
Tipo | Ingrese gb_visa_card como el tipo de método de pago. |
Solicitud de Obtener los Campos Requeridos del Método de Pago
Solicite un conjunto de campos requeridos para una tarjeta Visa.
Solicitud
// Request URL: GET https://sandboxapi.rapyd.net/v1/payment_methods/gb_visa_card/required_fields // Message body absent
.NET Core
using System; namespace RapydApiRequestSample { class Program { static void Main(string[] args) { try { string result = RapydApiRequestSample.Utilities.MakeRequest("GET", "/v1/payment_methods/us_visa_card/required_fields"); Console.WriteLine(result); } catch (Exception e) { Console.WriteLine("Error completing request: " + e.Message); } } } }
JavaScript
const makeRequest = require('<path-to-your-utility-file>/utilities').makeRequest; async function main() { try { const result = await makeRequest('GET', '/v1/payment_methods/us_visa_card/required_fields'); console.log(result); } catch (error) { console.error('Error completing request', error); } }
PHP
<?php $path = $_SERVER['DOCUMENT_ROOT']; $path .= "/<path-to-your-utility-file>/utilities.php"; include($path); try { $object = make_request('get', '/v1/payment_methods/us_visa_card/required_fields'); var_dump($object); } catch (Exception $e) { echo "Error: $e"; } ?>
Python
from pprint import pprint from utilities import make_request payment_method = 'us_visa_card' results = make_request(method='get', path=f'/v1/payment_methods/{payment_method}/required_fields') pprint(results)
Respuesta de Obtener los Campos Requeridos del Método de Pago
La respuesta a continuación muestra que, para una tarjeta Visa GB, el cliente debe completar los siguientes campos:
númeromes_expiraciónaño_expiraciónnombreCVV
Respuesta
{ “status”: { “error_code”: “”, “status”: “SUCCESS”, “message”: “”, “response_code”: “”, “operation_id”: “598b1a00-e302-4037-b0ef-aac895974e9e” }, “data”: { “type”: “gb_visa_card”, “fields”: [ { “name”: “number”, “type”: “string”, “regex”: “”, “is_required”: true, “instructions”: “card number” }, { “name”: “expiration_month”, “type”: “string”, “regex”: “”, “is_required”: true, “instructions”: “expiration month as string, 01-12” }, { “name”: “expiration_year”, “type”: “string”, “regex”: “”, “is_required”: true, “instructions”: “expiration year in to digits as string, 18-99" }, { “name”: “cvv”, “type”: “string”, “regex”: “”, “is_required”: false, “instructions”: “card cvv” }, { “name”: “name”, “type”: “string”, “regex”: “”, “is_required”: false, “instructions”: “card holder name” }, { “name”: “address”, “type”: “Address”, “regex”: “”, “is_required”: false, “instructions”: “card billing address. see Address object for more details” } ], “payment_method_options”: [ { “name”: “3d_required”, “type”: “string”, “regex”: “”, “description”: “”, “is_required”: false, “is_updatable”: false } ], “payment_options”: [ { “name”: “customer”, “type”: “customer”, “regex”: “”, “description”: “make sure a customer was created with first_name, last_name and email”, “is_required”: true, “is_updatable”: false } ], “minimum_expiration_seconds”: null, “maximum_expiration_seconds”: null } }
Nota: Para el flujo 3DS, consulte Pago con Tarjeta con Verificación 3DS.
Iniciar el Pago de su Cliente
Recaude un pago de su cliente:
Descripción de los Parámetros del Cuerpo
Parámetro del cuerpo | Descripción |
|---|---|
método_pago | Ingrese un objeto con los siguientes campos: tipo - gb_visa_card |
Monto | Ingrese 9.99 como el monto del pago. |
Moneda | Ingrese GBP como el código de la moneda. |
Captura | Ingrese verdadero como el valor. Esto indica a Rapyd que recaude el pago de inmediato. Si el valor es «falso», se colocará una retención en la tarjeta y los fondos no se capturarán hasta que el estado sea actualizado. |
Enviar el Pago a Rapyd
Rapyd procesa el pago con tarjeta de su cliente y captura los fondos de inmediato(en el código de ejemplo, el monto utilizado es 9.99 GBP).
Crear Solicitud de Pago
Solicitud
// Request URL: POST https://sandboxapi.rapyd.net/v1/payments // Message body: { "amount": 9.99, "currency": "GBP", "payment_method": { "type": "gb_visa_card", "fields": { "number": "4111111111111111", "expiration_month": "10", "expiration_year": "29", "cvv": "123" } }, "error_payment_url": "https://error_example.net", "capture": true }
.NET Core
using System; namespace RapydApiRequestSample { class Program { static void Main(string[] args) { try { string payment = @"{""amount"":9.99,""currency"":""GBP"",""payment_method"":{""type"":""gb_visa_card"",""fields"":{""number"":""4111111111111111"",""expiration_month"":""10"",""expiration_year"":""29"",""cvv"":""123""}},""error_payment_url"":""https:error_example.net"",""capture"":true}"; string result = RapydApiRequestSample.Utilities.MakeRequest("POST", "/v1/payments", payment); Console.WriteLine(result); } catch (Exception e) { Console.WriteLine("Error completing request: " + e.Message); } } } }
JavaScript
const makeRequest = require('<path-to-your-utility-file>/utilities').makeRequest; async function main() { try { const body = { amount: 9.99, currency: 'GBP', payment_method: { type: 'gb_visa_card', fields: { number: '4111111111111111', expiration_month: '10', expiration_year: '29', cvv: '123' } }, capture: true }; const result = await makeRequest('POST', '/v1/payments', body); console.log(result); } catch (error) { console.error('Error completing request', error); } }
PHP
<?php $path = $_SERVER['DOCUMENT_ROOT']; $path .= "/<path-to-your-utility-file>/utilities.php"; include($path); $body = [ 'amount' => 9.99, 'currency' => 'GBP', 'payment_method' => [ 'type' => 'us_visa_card', 'fields' => [ 'number' => '4111111111111111', 'expiration_month' => '10', 'expiration_year' => '29', 'cvv' => '123'] ], 'error_payment_url' => urldecode('https://error_example.net'), 'capture' => true ]; try { $object = make_request('post', '/v1/payments', $body); var_dump($object); } catch (Exception $e) { echo "Error: $e"; } ?>
Python
from pprint import pprint from utilities import make_request payment_body = { 'amount': 9.99, 'currency': 'GBP', 'payment_method': { 'type': 'gb_visa_card', 'fields': { 'number': '4111111111111111', 'expiration_month': '10', 'expiration_year': '29', 'cvv': '123' } }, 'error_payment_url': 'https://error_example.net', 'capture': True } results = make_request(method='post', path='/v1/payments', body=payment_body) pprint(results)
Crear Respuesta de Pago
Respuesta
{ "status": { "error_code": "", "status": "SUCCESS", "message": "", "response_code": "", "operation_id": "d036678e-79f3-45fd-ac9b-54277a0f1887" }, "data": { "id": "payment_476c494ba433285e3468ddd3d12e6287", "amount": 9.99, "original_amount": 9.99, "is_partial": false, "currency_code": "GBP", "country_code": "GB", "status": "CLO", // ... "customer_token": "cus_f7f818996c5cff475839fc2b5edf985a", "payment_method": "card_1bdfe1b70af665004da098f8bd859282", "expiration": 0, "captured": true, // ... "error_payment_url": "https://error_example.net", // ... "created_at": 1581235148, // ... "paid": true, "paid_at": 1581235148, // ... "payment_method_type": "gb_visa_card", "payment_method_type_category": "card", // ... } }
La respuesta muestra que Rapyd procesó el pago correctamente según el monto, la moneda y el método de pago.
El pago es exitoso, ya que el estado (dentro de datos) es CLO (cerrado).
Ahora puede notificar a su cliente que la compra se ha completado.