Aceptar pagos combinados
Al finalizar este tutorial, podrás recibir pagos combinados desde tu tienda en línea y recibir las notificaciones de los pagos en un máximo de 10 minutos.
Diagramas de secuencia
1. Transferencia-Transferencia
2. Transferencia-Tarjeta
3. Tarjeta-Tarjeta
1. Crear Order
Los campos mostrados en el siguiente ejemplo son los mínimos que se requieren para continuar; si deseas saber más sobre el objeto llamado order, puedes revisar nuestra REST API para más información.
Combinando cargos
En este proceso deberás enviar una lista de cargos, dividiendo el monto entre ellos para poder combinarlos agregando un arreglo de cargos:
Campo charges: Una lista de objetos que representan los cargos que se van a combinar en la orden. Cada objeto debe tener los siguientes campos:
- payment_method: Un objeto que representa el método de pago del cargo. Debe tener el campo "type", que indica el tipo de pago que se está utilizando ("spei" o "card").
- amount: El monto del cargo. Este valor debe ser menor o igual al monto total de la orden.
Ejemplos de solicitudes
Orden con dos cargos de Transferencia que se combinan para pagar un total de $500.00 MXN
curl --location 'https://api.conekta.io/orders' \
--header 'Accept: application/vnd.conekta-v2.1.0+json' \
--header 'Content-type: application/json' \
--header 'Authorization: Basic ACCESS_TOKEN' \
--data-raw '{
"currency": "MXN",
"customer_info": {
"name": "Nicolás Cedrón",
"email": "[email protected]",
"phone": "5522997233",
"corporate": true
},
"line_items": [
{
"name": "Box of Cohiba S1s",
"unit_price": 50000,
"quantity": 1
}
],
"charges": [
{
"payment_method": {
"type": "spei"
},
"amount": 25000
},
{
"payment_method": {
"type": "spei"
},
"amount": 25000
}
]
}'
require "conekta"
# Configuramos la clave privada de la API de Conekta y la versión de la API
Conekta.api_key = "API_KEY"
Conekta.locale = :es
Conekta.api_version = "2.1.0"
# Creamos un objeto de orden con los datos del comprador y del pago
order = Conekta::Order.create({
currency: "MXN",
customer_info: {
name: "Nicolás Cedrón",
email: "[email protected]",
phone: "5522997233",
corporate: true
},
line_items: [
{
name: "Box of Cohiba S1s",
unit_price: 50000,
quantity: 1
}
],
charges: [
{
payment_method: {
type: "spei"
},
amount: 25000
},
{
payment_method: {
type: "spei"
},
amount: 25000
}
]
})
# Imprimimos el ID de la orden creada
puts "ID de la orden creada: #{order.id}"
import conekta
# Configuramos la clave privada de la API de Conekta
conekta.api_key = "API_KEY"
conekta.locale = 'es'
conekta.api_version = "2.1.0"
# Creamos un objeto de orden con los datos del comprador y del pago
order = conekta.Order.create({
"currency": "MXN",
"customer_info": {
"name": "Nicolás Cedrón",
"email": "[email protected]",
"phone": "5522997233",
"corporate": True
},
"line_items": [
{
"name": "Box of Cohiba S1s",
"unit_price": 50000,
"quantity": 1
}
],
"charges": [
{
"payment_method": {
"type": "spei"
},
"amount": 25000
},
{
"payment_method": {
"type": "spei"
},
"amount": 25000
}
]
})
# Imprimimos el ID de la orden creada
print("ID de la orden creada: {}".format(order.id))
require_once("conekta-php/lib/Conekta.php");
// Configuramos la clave privada de la API de Conekta y la versión de la API
\Conekta\Conekta::setApiKey("API_KEY");
\Conekta\Conekta::setLocale('es');
\Conekta\Conekta::setApiVersion("2.1.0");
// Creamos un objeto de orden con los datos del comprador y del pago
$order = \Conekta\Order::create(array(
"currency" => "MXN",
"customer_info" => array(
"name" => "Nicolás Cedrón",
"email" => "[email protected]",
"phone" => "5522997233",
"corporate" => true
),
"line_items" => array(
array(
"name" => "Box of Cohiba S1s",
"unit_price" => 50000,
"quantity" => 1
)
),
"charges" => array(
array(
"payment_method" => array(
"type" => "spei"
),
"amount" => 25000
),
array(
"payment_method" => array(
"type" => "spei"
),
"amount" => 25000
)
)
));
// Imprimimos el ID de la orden creada
echo "ID de la orden creada: " . $order->id . "\n";
const Conekta = require('conekta');
// Configuramos la clave privada de la API de Conekta y la versión de la API
Conekta.apiKey = 'API_KEY';
Conekta.apiVersion = '2.1.0';
Conekta.locale = 'es';
// Creamos un objeto de orden con los datos del comprador y del pago
Conekta.Order.create({
currency: 'MXN',
customer_info: {
name: 'Nicolás Cedrón',
email: '[email protected]',
phone: '5522997233',
corporate: true
},
line_items: [
{
name: 'Box of Cohiba S1s',
unit_price: 50000,
quantity: 1
}
],
charges: [
{
payment_method: {
type: 'spei'
},
amount: 25000
},
{
payment_method: {
type: 'spei'
},
amount: 25000
}
]
}, function(err, order) {
if (err) {
console.log(err);
return;
}
// Imprimimos el ID de la orden creada
console.log('ID de la orden creada:', order.id);
});
import com.conekta.*;
public class OrderExample {
public static void main(String[] args) {
// Configuramos la clave privada de la API de Conekta y la versión de la API
Conekta.setApiKey("API_KEY");
Conekta.setApiVersion("2.1.0");
Conekta.setLocale("es");
try {
Long nowUnixTimestamp = System.currentTimeMillis();
Long thirtyDaysFromNowUnixTimestamp = (nowUnixTimestamp + 30L * 24 * 60 * 60 * 1000) / 1000L;
String thirtyDaysFromNow = thirtyDaysFromNowUnixTimestamp.toString();
JSONObject customer = new JSONObject();
customer.put("name", "Nicolás Cedrón");
customer.put("email", "[email protected]");
customer.put("phone", "5522997233");
customer.put("corporate", true);
JSONArray lineItems = new JSONArray();
JSONObject lineItem = new JSONObject();
lineItem.put("name", "Box of Cohiba S1s");
lineItem.put("unit_price", 50000);
lineItem.put("quantity", 1);
lineItems.put(lineItem);
JSONArray charges = new JSONArray();
JSONObject charge1 = new JSONObject();
JSONObject paymentMethod1 = new JSONObject();
paymentMethod1.put("type", "spei");
charge1.put("payment_method", paymentMethod1);
charge1.put("amount", 25000);
JSONObject charge2 = new JSONObject();
JSONObject paymentMethod2 = new JSONObject();
paymentMethod2.put("type", "spei");
charge2.put("payment_method", paymentMethod2);
charge2.put("amount", 25000);
charges.put(charge1);
charges.put(charge2);
JSONObject orderParams = new JSONObject();
orderParams.put("currency", "MXN");
orderParams.put("customer_info", customer);
orderParams.put("line_items", lineItems);
orderParams.put("charges", charges);
Order order = Order.create(orderParams);
} catch (io.conekta.Error e) {
System.out.println(e.message);
} catch (io.conekta.ErrorList e) {
System.out.println(e.details.get(0).message);
}
}
}
using conekta;
// Configuramos la clave privada de la API de Conekta y la versión de la API
conekta.Api.apiKey = "API_KEY";
conekta.Api.version = "2.1.0";
//Calculate an expiration time
DateTime thirtyDaysFromNowDateTime = DateTime.Now.AddDays(30);
long thirtyDaysFromNowUnixTimestamp = (Int64)(thirtyDaysFromNowDateTime.Subtract(new DateTime(1970, 1, 1)).TotalSeconds);
String thirtyDaysFromNow = thirtyDaysFromNowUnixTimestamp.ToString();
try{
conekta.Order order = new conekta.Order().create(@"{
""line_items"": [{
""name"": ""Box of Cohiba S1s"",
""unit_price"": 50000,
""quantity"": 1
}],
""charges"":[{
""payment_method"": {
""type"": ""spei""
},
""amount"": 25000
},{
""payment_method"": {
""type"": ""spei""
},
""amount"": 25000
}],
""currency"": ""MXN"",
""customer_info"": {
""name"": ""Nicolás Cedrón"",
""email"": ""[email protected]"",
""phone"": ""5522997233"",
""corporate"": true
}
}");
} catch (ConektaException e) {
foreach (JObject obj in e.details) {
System.Console.WriteLine("\n [ERROR]:\n");
System.Console.WriteLine("message:\t" + obj.GetValue("message"));
System.Console.WriteLine("debug:\t" + obj.GetValue("debug_message"));
System.Console.WriteLine("code:\t" + obj.GetValue("code"));
}
}
Respuesta
{
"livemode":false,
"amount":50000,
"currency":"MXN",
"payment_status":"pending_payment",
"amount_refunded":0,
"split_payment":true,
"customer_info":{
"email":"[email protected]",
"phone":"5522997233",
"name":"Nicolás Cedrón",
"corporate":true,
"customer_id":null,
"object":"customer_info"
},
"shipping_contact":null,
"channel":null,
"fiscal_entity":null,
"object":"order",
"id":"ord_2uatLDCjiNPjzwiBA",
"metadata":{
},
"is_refundable":false,
"processing_mode":null,
"created_at":1695092325,
"updated_at":1695092325,
"line_items":{
"object":"list",
"has_more":false,
"total":1,
"data":[
{
"name":"Box of Cohiba S1s",
"description":null,
"unit_price":50000,
"quantity":1,
"sku":null,
"tags":null,
"brand":null,
"type":null,
"object":"line_item",
"id":"line_item_2uatLDCjiNPjzwiB8",
"parent_id":"ord_2uatLDCjiNPjzwiBA",
"metadata":{
},
"antifraud_info":{
}
}
]
},
"shipping_lines":null,
"tax_lines":null,
"discount_lines":null,
"charges":{
"object":"list",
"has_more":false,
"total":2,
"data":[
{
"id":"65090e658973ba484c99855c",
"livemode":false,
"created_at":1695092325,
"currency":"MXN",
"failure_code":null,
"failure_message":null,
"monthly_installments":null,
"device_fingerprint":null,
"channel":null,
"payment_method":{
"clabe":"646180111812345678",
"bank":"STP",
"issuing_account_holder_name":null,
"issuing_account_tax_id":null,
"issuing_account_bank":null,
"issuing_account_number":null,
"receiving_account_holder_name":null,
"receiving_account_tax_id":null,
"receiving_account_number":"646180111812345678",
"receiving_account_bank":"STP",
"reference_number":null,
"description":null,
"tracking_code":null,
"executed_at":null,
"payment_attempts":[
],
"object":"bank_transfer_payment",
"type":"spei",
"expires_at":1702867793
},
"object":"charge",
"description":"Payment from order",
"is_refundable":false,
"reference_id":null,
"status":"pending_payment",
"amount":25000,
"paid_at":null,
"customer_id":"",
"order_id":"ord_2uatLDCjiNPjzwiBA",
"refunds":null,
"reference":"646180111812345678"
},
{
"id":"65090e658973ba484c998554",
"livemode":false,
"created_at":1695092325,
"currency":"MXN",
"failure_code":null,
"failure_message":null,
"monthly_installments":null,
"device_fingerprint":null,
"channel":null,
"payment_method":{
"clabe":"646180111812345678",
"bank":"STP",
"issuing_account_holder_name":null,
"issuing_account_tax_id":null,
"issuing_account_bank":null,
"issuing_account_number":null,
"receiving_account_holder_name":null,
"receiving_account_tax_id":null,
"receiving_account_number":"646180111812345678",
"receiving_account_bank":"STP",
"reference_number":null,
"description":null,
"tracking_code":null,
"executed_at":null,
"payment_attempts":[
],
"object":"bank_transfer_payment",
"type":"spei",
"expires_at":1702867793
},
"object":"charge",
"description":"Payment from order",
"is_refundable":false,
"reference_id":null,
"status":"pending_payment",
"amount":25000,
"paid_at":null,
"customer_id":"",
"order_id":"ord_2uatLDCjiNPjzwiBA",
"refunds":null,
"reference":"646180111812345678"
}
]
}
}
Orden con dos cargos, uno con Transferencia y otro con Tarjeta que combinan para pagar un total de $500.00 MXN
Debes crear un token para hacer un pago con tarjeta:
- Para saber más sobre cómo puedes crear un token, puedes revisar la referencia API.
- También puedes revisar la receta.
- Una vez que se valide el tipo de llamada, tendrás una respuesta como esta:
{
"id": "tok_2tgvCxcr74nop5c56",
"livemode": false,
"used": false,
"object": "token"
}
- Crear orden
Petición
curl --location 'https://api.conekta.io/orders' \
--header 'Accept: application/vnd.conekta-v2.1.0+json' \
--header 'Content-type: application/json' \
--header 'Authorization: Basic ACCESS_TOKEN' \
--data-raw '{
"currency": "MXN",
"customer_info": {
"name": "Nicolás Cedrón",
"email": "[email protected]",
"phone": "5522997233",
"corporate": true
},
"line_items": [
{
"name": "Box of Cohiba S1s",
"unit_price": 50000,
"quantity": 1
}
],
"charges": [
{
"payment_method": {
"type": "card",
"token_id": "tok_2u32nGqWqVjW96dUc" // Token recibido en el paso 1
},
"amount": 20000
},
{
"payment_method": {
"type": "spei"
},
"amount": 30000
}
]
}'
require "conekta"
# Configuramos la clave privada de la API de Conekta y la versión de la API
Conekta.api_key = "API_KEY"
Conekta.locale = :es
Conekta.api_version = "2.1.0"
# Creamos un objeto de orden con los datos del comprador y del pago
order = Conekta::Order.create({
currency: "MXN",
customer_info: {
name: "Nicolás Cedrón",
email: "[email protected]",
phone: "5522997233",
corporate: true
},
line_items: [
{
name: "Box of Cohiba S1s",
unit_price: 50000,
quantity: 1
}
],
charges: [
{
payment_method: {
type: "card",
token_id: 'tok_2u32nGqWqVjW96dUc'
},
amount: 20000
},
{
payment_method: {
type: "spei"
},
amount: 30000
}
]
})
# Imprimimos el ID de la orden creada
puts "ID de la orden creada: #{order.id}"
import conekta
# Configuramos la clave privada de la API de Conekta
conekta.api_key = "API_KEY"
conekta.locale = 'es'
conekta.api_version = "2.1.0"
# Creamos un objeto de orden con los datos del comprador y del pago
order = conekta.Order.create({
"currency": "MXN",
"customer_info": {
"name": "Nicolás Cedrón",
"email": "[email protected]",
"phone": "5522997233",
"corporate": True
},
"line_items": [
{
"name": "Box of Cohiba S1s",
"unit_price": 50000,
"quantity": 1
}
],
"charges": [
{
"payment_method": {
"type": "card",
"token_id": "tok_2u32nGqWqVjW96dUc"
},
"amount": 20000
},
{
"payment_method": {
"type": "spei"
},
"amount": 30000
}
]
})
# Imprimimos el ID de la orden creada
print("ID de la orden creada: {}".format(order.id))
require_once("conekta-php/lib/Conekta.php");
// Configuramos la clave privada de la API de Conekta y la versión de la API
\Conekta\Conekta::setApiKey("API_KEY");
\Conekta\Conekta::setLocale('es');
\Conekta\Conekta::setApiVersion("2.1.0");
// Creamos un objeto de orden con los datos del comprador y del pago
$order = \Conekta\Order::create(array(
"currency" => "MXN",
"customer_info" => array(
"name" => "Nicolás Cedrón",
"email" => "[email protected]",
"phone" => "5522997233",
"corporate" => true
),
"line_items" => array(
array(
"name" => "Box of Cohiba S1s",
"unit_price" => 50000,
"quantity" => 1
)
),
"charges" => array(
array(
"payment_method" => array(
"type" => "card",
"token_id" => "tok_2u32nGqWqVjW96dUc"
),
"amount" => 20000
),
array(
"payment_method" => array(
"type" => "spei"
),
"amount" => 30000
)
)
));
// Imprimimos el ID de la orden creada
echo "ID de la orden creada: " . $order->id . "\n";
const Conekta = require('conekta');
// Configuramos la clave privada de la API de Conekta y la versión de la API
Conekta.apiKey = 'API_KEY';
Conekta.apiVersion = '2.1.0';
Conekta.locale = 'es';
// Creamos un objeto de orden con los datos del comprador y del pago
Conekta.Order.create({
currency: 'MXN',
customer_info: {
name: 'Nicolás Cedrón',
email: '[email protected]',
phone: '5522997233',
corporate: true
},
line_items: [
{
name: 'Box of Cohiba S1s',
unit_price: 50000,
quantity: 1
}
],
charges: [
{
payment_method: {
type: 'card',
token_id: 'tok_2u32nGqWqVjW96dUc'
},
amount: 20000
},
{
payment_method: {
type: 'spei'
},
amount: 30000
}
]
}, function(err, order) {
if (err) {
console.log(err);
return;
}
// Imprimimos el ID de la orden creada
console.log('ID de la orden creada:', order.id);
});
import com.conekta.*;
public class OrderExample {
public static void main(String[] args) {
// Configuramos la clave privada de la API de Conekta y la versión de la API
Conekta.setApiKey("API_KEY");
Conekta.setApiVersion("2.1.0");
Conekta.setLocale("es");
try {
Long nowUnixTimestamp = System.currentTimeMillis();
Long thirtyDaysFromNowUnixTimestamp = (nowUnixTimestamp + 30L * 24 * 60 * 60 * 1000) / 1000L;
String thirtyDaysFromNow = thirtyDaysFromNowUnixTimestamp.toString();
JSONObject customer = new JSONObject();
customer.put("name", "Nicolás Cedrón");
customer.put("email", "[email protected]");
customer.put("phone", "5522997233");
customer.put("corporate", true);
JSONArray lineItems = new JSONArray();
JSONObject lineItem = new JSONObject();
lineItem.put("name", "Box of Cohiba S1s");
lineItem.put("unit_price", 50000);
lineItem.put("quantity", 1);
lineItems.put(lineItem);
JSONArray charges = new JSONArray();
JSONObject charge1 = new JSONObject();
JSONObject paymentMethod1 = new JSONObject();
paymentMethod1.put("type", "card");
paymentMethod1.put("token_id", "tok_2u32nGqWqVjW96dUc");
charge1.put("payment_method", paymentMethod1);
charge1.put("amount", 20000);
JSONObject charge2 = new JSONObject();
JSONObject paymentMethod2 = new JSONObject();
paymentMethod2.put("type", "spei");
charge2.put("payment_method", paymentMethod2);
charge2.put("amount", 30000);
charges.put(charge1);
charges.put(charge2);
JSONObject orderParams = new JSONObject();
orderParams.put("currency", "MXN");
orderParams.put("customer_info", customer);
orderParams.put("line_items", lineItems);
orderParams.put("charges", charges);
Order order = Order.create(orderParams);
} catch (io.conekta.Error e) {
System.out.println(e.message);
} catch (io.conekta.ErrorList e) {
System.out.println(e.details.get(0).message);
}
}
}
using conekta;
// Configuramos la clave privada de la API de Conekta y la versión de la API
conekta.Api.apiKey = "API_KEY";
conekta.Api.version = "2.1.0";
//Calculate an expiration time
DateTime thirtyDaysFromNowDateTime = DateTime.Now.AddDays(30);
long thirtyDaysFromNowUnixTimestamp = (Int64)(thirtyDaysFromNowDateTime.Subtract(new DateTime(1970, 1, 1)).TotalSeconds);
String thirtyDaysFromNow = thirtyDaysFromNowUnixTimestamp.ToString();
try{
conekta.Order order = new conekta.Order().create(@"{
""line_items"": [{
""name"": ""Box of Cohiba S1s"",
""unit_price"": 50000,
""quantity"": 1
}],
""charges"":[{
""payment_method"": {
""type"": ""card"",
""token_id"": ""tok_2u32nGqWqVjW96dUc""
},
""amount"": 20000
},{
""payment_method"": {
""type"": ""spei""
},
""amount"": 30000
}],
""currency"": ""MXN"",
""customer_info"": {
""name"": ""Nicolás Cedrón"",
""email"": ""[email protected]"",
""phone"": ""5522997233"",
""corporate"": true
}
}");
} catch (ConektaException e) {
foreach (JObject obj in e.details) {
System.Console.WriteLine("\n [ERROR]:\n");
System.Console.WriteLine("message:\t" + obj.GetValue("message"));
System.Console.WriteLine("debug:\t" + obj.GetValue("debug_message"));
System.Console.WriteLine("code:\t" + obj.GetValue("code"));
}
}
Respuesta
{
"livemode":false,
"amount":50000,
"currency":"MXN",
"payment_status":"partially_paid",
"amount_refunded":0,
"split_payment":true,
"customer_info":{
"email":"[email protected]",
"phone":"5522997233",
"name":"Nicolás Cedrón",
"corporate":true,
"customer_id":null,
"object":"customer_info"
},
"shipping_contact":null,
"channel":null,
"fiscal_entity":null,
"object":"order",
"id":"ord_2uatXT6CUQSZBQgkt",
"metadata":{
},
"is_refundable":true,
"processing_mode":null,
"created_at":1695093208,
"updated_at":1695093210,
"line_items":{
"object":"list",
"has_more":false,
"total":1,
"data":[
{
"name":"Box of Cohiba S1s",
"description":null,
"unit_price":50000,
"quantity":1,
"sku":null,
"tags":null,
"brand":null,
"type":null,
"object":"line_item",
"id":"line_item_2uatXT6CUQSZBQgkr",
"parent_id":"ord_2uatXT6CUQSZBQgkt",
"metadata":{
},
"antifraud_info":{
}
}
]
},
"shipping_lines":null,
"tax_lines":null,
"discount_lines":null,
"charges":{
"object":"list",
"has_more":false,
"total":2,
"data":[
{
"id":"650911d88973ba484c998570",
"livemode":false,
"created_at":1695093208,
"currency":"MXN",
"failure_code":null,
"failure_message":null,
"monthly_installments":null,
"device_fingerprint":null,
"channel":null,
"payment_method":{
"name":"QA Testing",
"exp_month":"12",
"exp_year":"24",
"auth_code":"1281",
"object":"card_payment",
"type":"credit",
"normalized_device_fingerprint":null,
"last4":"0957",
"brand":"visa",
"issuer":"bbva",
"account_type":"cuenta oro",
"contract_id":"S825828000",
"country":"MX",
"fraud_score":null,
"fraud_indicators":[
],
"token_id":"tok_2u32nGqWqVjW96dUc"
},
"object":"charge",
"description":"Payment from order",
"is_refundable":true,
"reference_id":null,
"status":"paid",
"amount":20000,
"paid_at":1695093210,
"customer_id":"",
"order_id":"ord_2uatXT6CUQSZBQgkt",
"refunds":null
},
{
"id":"650911d88973ba484c998568",
"livemode":false,
"created_at":1695093208,
"currency":"MXN",
"failure_code":null,
"failure_message":null,
"monthly_installments":null,
"device_fingerprint":null,
"channel":null,
"payment_method":{
"clabe":"646180111812345678",
"bank":"STP",
"issuing_account_holder_name":null,
"issuing_account_tax_id":null,
"issuing_account_bank":null,
"issuing_account_number":null,
"receiving_account_holder_name":null,
"receiving_account_tax_id":null,
"receiving_account_number":"646180111812345678",
"receiving_account_bank":"STP",
"reference_number":null,
"description":null,
"tracking_code":null,
"executed_at":null,
"payment_attempts":[
],
"object":"bank_transfer_payment",
"type":"spei",
"expires_at":1702867793
},
"object":"charge",
"description":"Payment from order",
"is_refundable":false,
"reference_id":null,
"status":"pending_payment",
"amount":30000,
"paid_at":null,
"customer_id":"",
"order_id":"ord_2uatXT6CUQSZBQgkt",
"refunds":null,
"reference":"646180111812345678"
}
]
}
}
2. Procesar respuesta
Puedes procesar la respuesta JSON o desde el SDK usado.
3. Recibe notificaciones
Para poder confirmar los pagos que se realicen con Transferencia deberás añadir un Webhook en tu Admin Conekta para recibir las notificaciones POST (HTTP JSON) correctamente.
Utiliza URLs públicos: Si no tienes una IP pública o un domino a tu disposición, te recomendamos utilizar servicios como ultrahook o localtunnel. También puedes consultar la referencia sobre webhooks. Recomendamos escuchar eventos de order.paid de esta manera:
{
"object": {
"livemode": false,
"amount": 18500,
"currency": "MXN",
"payment_status": "paid",
"amount_refunded": 0,
"customer_info": {
"name": "Fulanito Pérez",
"email": "[email protected]",
"phone": "+5218181818181",
"object": "customer_info"
},
"shipping_contact": {
"receiver": "JOSE MORALES",
"phone": "6691208528",
"address": {
"street1": "Calle 123, int 2",
"postal_code": "06100",
"country": "MX"
},
"id": "ship_cont_2s53K99C8GXVmCfPk",
"object": "shipping_contact",
"created_at": 0
},
"object": "order",
"id": "ord_2s53K99C8GXVmCfPm",
"created_at": 1656547670,
"updated_at": 1656547702,
"line_items": {
"object": "list",
"has_more": false,
"total": 1,
"data": [{
"name": "Tacos",
"unit_price": 1000,
"quantity": 12,
"object": "line_item",
"id": "line_item_2s53K99C8GXVmCfPg",
"parent_id": "ord_2s53K99C8GXVmCfPm",
"metadata": {}
}]
},
"shipping_lines": {
"object": "list",
"has_more": false,
"total": 1,
"data": [{
"name": "Tacos",
"amount": 1500,
"carrier": "FEDEX",
"object": "line_item",
"id": "line_item_2s53K99C8GXVmCfPg",
"parent_id": "ord_2s53K99C8GXVmCfPm",
"metadata": {}
}]
},
"tax_lines": {
"object": "list",
"has_more": false,
"total": 0,
"data": []
},
"charges": {
"object": "list",
"has_more": false,
"total": 1,
"data": [{
"id": "62bce95741de276186407e41",
"livemode": false,
"created_at": 1656547671,
"currency": "MXN",
"payment_method": {
"service_name": "Cash",
"barcode_url": "https://s3.amazonaws.com/cash_payment_barcodes/sandbox_reference.png",
"object": "cash_payment",
"type": "cash",
"expires_at": 1656634070,
"store_name": "XXXX",
"reference": "98000013217610"
},
"object": "charge",
"description": "Payment from order",
"status": "paid",
"amount": 13500,
"paid_at": 1656547702,
"fee": 537,
"customer_id": "",
"order_id": "ord_2s53K99C8GXVmCfPm"
}]
}
},
"previous_attributes": {}
}
A continuación puedes ver los estados que puede tener una orden con pagos combinados:
Estados de una orden
Estado | Descripción | |
---|---|---|
Cargo contracargado completamente | charged_back | Todos los cargos de la orden fueron contracargados |
Cargo contracargado parcialmente | partially_charged_back | Al menos uno de los cargos de la orden fue contracargado |
Orden reembolsada completa | refunded | Se reembolsaron todos los cargos de la orden |
Orden reembolsada parcialmente | partially_refunded | Al menos uno de los cargos de la orden fue reembolsado total o parcialmente |
Preautorización realizada | preauthorized | Se ha solicitado una autorización previa al cobro de todos los cargos en la orden. |
Preautorización parcial realizada | partially_preauthorized | Se ha solicitado una autorización previa al cobro de un cargo en la orden. |
Esperando confirmación | pending_confirmation | La orden está esperando confirmación de pago |
Esperando confirmación parcial | partially_pending_confirmation | Al menos uno de los cargos de la orden está esperando confirmación de pago |
Orden pagada completa | paid | Todos los cargos de la orden fueron pagados |
Orden pagada parcialmente | partially_paid | Al menos uno de los cargos de la orden fue pagado parcialmente |
Esperando pago | pending_payment | La orden está esperando que se realice el pago |
Pago rechazado | declined | El pago fue rechazado |
Orden cancelada | canceled | La orden fue cancelada |
Orden anulada | voided | La orden fue anulada |
Orden expirada | expired | La orden expiró y no se pudo procesar el pago |
Servicio de Notificaciones
Conekta dispone de un servicio de notificaciones a usuario final para las distintas instancias del proceso de pago.
Si tienes activadas las notificaciones vía email de Conekta, tu cliente recibirá los siguientes correos cuando elija pagar con Transferencia:
Generación de la referencia:
5. Prueba tu Webhook
Dentro de tu perfil de Administrador en Conekta, puedes probar la funcionalidad de tu Webhook
¿Qué necesito para probar mi Webhook? Solo agrega la URL de tu Webhook y los datos de acceso al Perfil de Administrador Conekta.
Todos los eventos que ocurran antes, durante y después de una transacción pueden ser notificados a través de webhooks, justo en el momento en que ocurren. Te enlistamos todos los eventos que intervienen en esta modalidad, accediendo a la siguiente liga (https://developers.conekta.com/docs/eventos-webhooks) para revisar el detalle del payload correspondiente a cada uno de ellos, y mapearlos para llevar a cabo los procesos internos requeridos por tu negocio.
En esta documentación también encontrarás la manera de configurarlo en el Panel de Conekta de tu compañía.
Updated 3 months ago