Transacciones

 

Obtener una transacción

Dado un ID de transacción, el API retorna su información

 
gethttps://production.wompi.co/v1/transactions/transactionId
curl --request GET \
  --url https://production.wompi.co/v1/transactions/transactionId
var request = require("request");

var options = { method: 'GET',
  url:
   'https://production.wompi.co/v1/transactions/transactionId' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://production.wompi.co/v1/transactions/transactionId")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://production.wompi.co/v1/transactions/transactionId");

xhr.send(data);
import requests

url = "https://production.wompi.co/v1/transactions/transactionId"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

transactionId
string
required

ID de la transacción

Response

Transacción encontrada

Transacción no encontrada

Crear una transacción

Dado un objeto JSON con información como monto en centavos, referencia, método de pago, etc. se crea una transacción. Para más detalles sobre el campo payment_method, consulta la guía completa en https://docs.wompi.co/docs/m%C3%A9todos-de-pago

 
posthttps://production.wompi.co/v1/transactions
curl --request POST \
  --url https://production.wompi.co/v1/transactions \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'POST',
  url: 'https://production.wompi.co/v1/transactions',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://production.wompi.co/v1/transactions")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://production.wompi.co/v1/transactions");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "https://production.wompi.co/v1/transactions"

headers = {'authorization': 'Authorization'}

response = requests.request("POST", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

amount_in_cents
integer
required

Monto total en centavos de la transacción. Por ejemplo, para $1.000 se escribe 100000

currency
string
required

Moneda en la que se va a realizar la transacción. Únicamente COP actualmente.

customer_email
email
required

Email al cual se envía el comprobante de pago.

payment_method
object

Detalles del método de pago. OBLIGATORIO si no se usa un payment_source_id. Para más detalles consulta https://docs.wompi.co/docs/m%C3%A9todos-de-pago

 
payment_source_id
string

ID de fuente de pago. OBLIGATORIA si no se usa un payment_method

redirect_url
string

URL a la que se lleva al usuario después de hacer el pago.

reference
string
required

Referencia única en la base de datos de cada comercio.

Headers

Authorization
string
required

Llave pública del comercio. Ejp. Bearer pub_prod_Q5yDA9xoKdePzhSGeVe9HAez7HgGORGf

Response

Transacción creada

Cuerpo inválido o referencia duplicada

Tokens

 

Tokenizar una tarjeta de crédito

Dado un número de tarjeta, mes de expiración, año de expiración y CVC, se tokeniza una tarjeta para usarla al crear una transacción o una fuente de pago.

 
posthttps://production.wompi.co/v1/tokens/cards
curl --request POST \
  --url https://production.wompi.co/v1/tokens/cards \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'POST',
  url: 'https://production.wompi.co/v1/tokens/cards',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://production.wompi.co/v1/tokens/cards")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://production.wompi.co/v1/tokens/cards");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "https://production.wompi.co/v1/tokens/cards"

headers = {'authorization': 'Authorization'}

response = requests.request("POST", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

number
string
required

Número completo de la tarjeta de crédito. Sin espacios, únicamente números.

cvc
string
required

Código de seguridad de la tarjeta de crédito. También llamado CVV o CSC.

exp_month
string
required

Mes de vencimiento de la tarjeta en dos dígitos (02, 04, 11, etc.).

exp_year
string
required

Año de vencimiento de la tarjeta en dos dígitos (18, 20, 23, etc.).

card_holder
string
required

Nombre del tarjeta habiente.

Headers

Authorization
string
required

Llave pública del comercio. Ejp. Bearer pub_prod_Q5yDA9xoKdePzhSGeVe9HAez7HgGORGf

Response

Token creado

Cuerpo inválido o datos de la tarjeta inválidos.

Tokenizar una cuenta de Nequi

Dado un número celular y un nombre completo, se tokeniza una cuenta de Nequi para usarla al crear una transacción o una fuente de pago.

 
posthttps://production.wompi.co/v1/tokens/nequi
curl --request POST \
  --url https://production.wompi.co/v1/tokens/nequi \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'POST',
  url: 'https://production.wompi.co/v1/tokens/nequi',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://production.wompi.co/v1/tokens/nequi")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://production.wompi.co/v1/tokens/nequi");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "https://production.wompi.co/v1/tokens/nequi"

headers = {'authorization': 'Authorization'}

response = requests.request("POST", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

phone
string
required

Número celular asociado a la cuenta Nequi

name
string
required

Nombre del titular de la cuenta Nequi

Headers

Authorization
string
required

Llave pública del comercio. Ejp. Bearer pub_prod_Q5yDA9xoKdePzhSGeVe9HAez7HgGORGf

Response

Token creado

Cuerpo inválido o datos de la tarjeta inválidos.

Comercios

 

Obtener un comercio

Dado un token público de un comercio, se obtiene información del mismo.

 
gethttps://production.wompi.co/v1/merchants/merchantPublicKey
curl --request GET \
  --url https://production.wompi.co/v1/merchants/merchantPublicKey
var request = require("request");

var options = { method: 'GET',
  url:
   'https://production.wompi.co/v1/merchants/merchantPublicKey' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://production.wompi.co/v1/merchants/merchantPublicKey")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://production.wompi.co/v1/merchants/merchantPublicKey");

xhr.send(data);
import requests

url = "https://production.wompi.co/v1/merchants/merchantPublicKey"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Path Params

merchantPublicKey
string
required

Token público del comercio

Response

Comercio encontrado.

Comercio no encontrado

PSE

 

Listado de instituciones financieras de PSE.

Obtener la lista de instituciones financieras con las cuales se puede hacer un pago a través de PSE.

 
gethttps://production.wompi.co/v1/pse/financial_institutions
curl --request GET \
  --url https://production.wompi.co/v1/pse/financial_institutions \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'GET',
  url: 'https://production.wompi.co/v1/pse/financial_institutions',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://production.wompi.co/v1/pse/financial_institutions")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://production.wompi.co/v1/pse/financial_institutions");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "https://production.wompi.co/v1/pse/financial_institutions"

headers = {'authorization': 'Authorization'}

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Headers

Authorization
string
required

Llave pública del comercio. Ejp. Bearer pub_prod_Q5yDA9xoKdePzhSGeVe9HAez7HgGORGf

Response

Lista instituciones financieras de PSE.

Crear un link de pago

Dado un objeto JSON con información como nombre, descripción monto en centavos, etc. se crea un link de pago.

 
posthttps://production.wompi.co/v1/payment_links
curl --request POST \
  --url https://production.wompi.co/v1/payment_links \
  --header 'authorization: Authorization'
var request = require("request");

var options = { method: 'POST',
  url: 'https://production.wompi.co/v1/payment_links',
  headers: { authorization: 'Authorization' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://production.wompi.co/v1/payment_links")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Authorization'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://production.wompi.co/v1/payment_links");
xhr.setRequestHeader("authorization", "Authorization");

xhr.send(data);
import requests

url = "https://production.wompi.co/v1/payment_links"

headers = {'authorization': 'Authorization'}

response = requests.request("POST", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results

Body Params

name
string
required

Nombre del producto o servicio a vender

description
string
required

Descripción del producto o servicio a vender

amount_in_cents
integer
required

Monto total en centavos de la transacción. Por ejemplo, para $1.000 se escribe 100000. Se envía null en caso de querer dejar el precio abierto (que el usuario pagador lo introduzca)

currency
string
required

Moneda en la que se va a realizar la transacción. Únicamente COP actualmente. Se envía null en caso de querer dejar el precio abierto (que el usuario pagador lo introduzca)

single_use
boolean
required

Define si el link es para un único uso o no

collect_shipping
boolean
required

Define si se quiere pedir información de envío al cliente o no

sku
string

SKU del producto o servicio (Opcional)

expires_at
string

Fecha en formato ISO 8601 que indica hasta cuándo es válido el link de pago. (Opcional)

redirect_url
string

URL de redirección a la cual se llevará al cliente luego de terminar la transacción. (Opcional)

image_url
string

URL de la imagen del producto o servicio. (Opcional)

Headers

Authorization
string
required

Llave privada del comercio. Ejp. Bearer prv_prod_Q5yDA9xoKdePzhSGeVe9HAez7HgGORGf

Response

Link de pago creada

Cuerpo inválido