Guía de activación: Apple Pay
Esta guía te muestra cómo activar Apple Pay en cada una de nuestras integraciones disponibles.
Link de pago
-
Ingresa a tu panel de administración. https://panel.conekta.com/
-
Haz click en la opción "Link de pago" del menú lateral y luego haz click en el botón "Crear Link".
-
Completa los datos del link de pago a crear. Por defecto todos nuestros métodos de pago se encuentran habilitados al crear un link de pago desde esta sección, puedes verlo haciendo click en el botón "Configuración avanzada".
-
Verás las opciones de pago, entre ellas "Apple Pay"
Si estás creando link de pago por API, solo debes agregar el nuevo método de pago "apple" al array de "allowed_payment_methods". Debes tener configurado el pago con tarjetas.
curl --request POST \
--url https://api.conekta.io/checkouts \
--header 'accept: application/vnd.conekta-v2.2.0+json' \
-u key_eYvWV7gSDkNYXsmr: \
--header 'content-type: application/json' \
--data '{
"name": "Payment Link Name",
"type": "PaymentLink",
"recurrent": false,
"expires_at": 1590882634,
"allowed_payment_methods": ["card", "apple"],
"needs_shipping_contact": true,
"order_template": {
"line_items": [{
"name": "Red Wine",
"unit_price": 1000,//con este valor y quantity se calculará el parámetro amount de la petición
"quantity": 10
}],
"currency": "MXN",
"customer_info": {
"name": "Juan Perez",
"email": "[email protected]",
"phone": "5566982090"
}
}
}'
Checkout redireccionado
Similar a la creación de Link de pago por API; solo debes agregar el nuevo método de pago "apple" al array de "allowed_payment_methods". Debes tener configurado el pago con tarjetas.
curl -H "Accept: application/vnd.conekta-v2.2.0+json" \
-H "Content-type: application/json" \
-H 'Authorization: Bearer key_XXXXXXX' \
-X POST -d '{
"currency": "MXN",
"customer_info": {
"name": "Juan Perez",
"email": "[email protected]",
"phone": "+5218181818181"
},
"line_items": [
{
"name": "Box of Cohiba S1s",
"unit_price": 35000,
"quantity": 1
}
],
"shipping_lines": [
{
"amount": 0
}
],
"checkout": {
"allowed_payment_methods": [
"card",
"apple"
],
"type": "HostedPayment",
"success_url": "https://www.mysite.com/payment/confirmation",
"failure_url": "https://www.mysite.com/payment/failure",
"monthly_installments_enabled": true,
"monthly_installments_options": [
3,
6,
9,
12
],
"redirection_time": 4 //Tiempo de Redirección al Success-Failure URL, umbrales de 4 a 120 seg.
},
"shipping_contact": {
"phone": "+5215555555555",
"receiver": "Marvin Fuller",
"address": {
"street1": "Nuevo Leon 4",
"country": "MX",
"postal_code": "06100"
}
}
}' https://api.conekta.io/orders
<?php
require __DIR__ . '/../../vendor/autoload.php';
use Conekta\Api\OrdersApi;
use Conekta\ApiException;
use Conekta\Configuration;
use Conekta\Model\OrderRequest;
$apiKey = getenv("CONEKTA_API_KEY");
$config = Configuration::getDefaultConfiguration()->setAccessToken($apiKey);
$apiInstance = new OrdersApi(null, $config);
$accept_language = 'es';
$rq = new OrderRequest([
'currency' => 'MXN',
'customer_info' => [
'name' => 'fran carrero',
'email'=> '[email protected]',
'phone' => '+5218181818181'
],
'line_items' => [
[
'name' => 'Box of Cohiba S1s',
'unit_price' => 35000,
'quantity' => 1
]
],
'shipping_lines' => [
[
'amount' => 1500,
'carrier' => 'FEDEX'
]
],
'checkout' => [
'allowed_payment_methods' => [
'bank_transfer',
'card',
'cash'
],
'monthly_installments_enabled' => true,
'type' => 'HostedPayment',
'success_url' => 'https://www.example.com/success',
'failure_url' => 'https://www.example.com/failure',
'monthly_installments_options' => [3, 6, 12],
'redirection_time' => 4 //Redirect time to Success-Failure URL, thresholds 4 to 120 sec.
],
'shipping_contact' =>[
'phone' => '+5218181818181',
'receiver' => 'Marvin Fuller',
'address' => [
'street1' => '250 Alexis St',
'city' => 'Red Deer',
'state' => 'Alberta',
'country' => 'CA',
'postal_code' => '01000'
]
]
]);
try {
$result = $apiInstance->createOrder($rq, $accept_language);
$json_string = json_encode($result, JSON_PRETTY_PRINT);
print_r($json_string);
echo $result ->getCheckout()->getUrl();
} catch (ApiException $e) {
echo 'Exception when calling OrdersApi->createOrder: ', $e->getMessage(), PHP_EOL;
}
valid_order_with_checkout = {
line_items: [
{
name: 'Box of Cohiba S1s',
description: 'Imported From Mex.',
unit_price: 120000,
quantity: 1,
sku: 'cohbs1',
category: 'food',
tags: ['food', 'mexican food']
}
],
checkout: {
allowed_payment_methods: ["cash", "card", "bank_transfer"],
expires_at: Time.now.to_i + 259200,
failure_url: "testredirect.com",
force_2fa_flow: true,
success_url: "testredirect.com",
monthly_installments_enabled: true,
monthly_installments_options: [3, 6, 9, 12],
type: "HostedPayment",
redirection_time: 4 # Tiempo de Redirección al Success/Failure URL, umbrales de 4 a 120 seg.
},
customer_info: {
customer_id: customer.id
},
currency: 'mxn',
metadata: {test: 'extra info'}
}
order = Conekta::Order.create(valid_order_with_checkout)
puts order.inspect
order = self.client.Order.create(order)
checkout = order.createCheckout({
"currency": "MXN",
"customer_info": {
"customer_id": "cus_2o3FvMEBiKitVK1vQ"
},
"line_items": [{
"name": "Box of Cohiba S1s",
"unit_price": 300000,
"quantity": 1
}],
"shipping_lines": [{
"amount": 0
}],
"checkout": {
"type":"HostedPayment",
"success_url": "testredirect.com",
"failure_url": "testredirect.com",
"allowed_payment_methods": ["cash", "card", "bank_transfer"],
"multifactor_authentication": False,
"monthly_installments_enabled": True,
"monthly_installments_options": [3,6,9,12,18],
"expires_at": 1609891200,
"redirection_time": 4 //Tiempo de Redirección al Success/Failure URL, umbrales de 4 a 120 seg.
},
"shipping_contact": {
"phone": "+5215555555555",
"receiver": "Marvin Fuller",
"address": {
"street1": "Nuevo Leon 4",
"country": "MX",
"postal_code": "06100"
}
}
})
conekta.Order.create({
"currency": "MXN",
"customer_info": {
"customer_id": customer.id
},
"line_items": [{
"name": "Box of Cohiba S1s",
"unit_price": 300000,
"quantity": 1
}],
"shipping_lines": [{
"amount": 0
}],
"checkout": {
"type":"HostedPayment",
"success_url": "testredirect.com",
"failure_url": "testredirect.com",
"allowed_payment_methods": ["cash", "card", "bank_transfer"],
"multifactor_authentication": False,
"monthly_installments_enabled": True,
"monthly_installments_options": [3,6,9,12,18],
"expires_at": 1609891200,
"redirection_time": 4 //Tiempo de Redirección al Success/Failure URL, umbrales de 4 a 120 seg.
},
"shipping_contact": {
"phone": "+5215555555555",
"receiver": "Marvin Fuller",
"address": {
"street1": "Nuevo Leon 4",
"country": "MX",
"postal_code": "06100"
}
}
}, function(err, res) {
if(err){
console.log(err);
return;
}
console.log(res.toObject());
});
using Newtonsoft.Json;
var validOrderWithCheckout = new
{
currency: "MXN",
customer_info = new
{
customer_id = "cus_2o3FvMEBiKitVK1vQ"
},
line_items = new
[
new
{
name = "Box of Cohiba S1s",
unit_price = 300000,
quantity = 1
}
],
shipping_lines = new
[
new
{
"amount" = 0
}
],
checkout = new
{
type = "HostedPayment",
success_url = "testredirect.com",
failure_url = "testredirect.com",
allowed_payment_methods = new string[]
{
"cash",
"card",
"bank_transfer"
},
multifactor_authentication = false,
monthly_installments_enabled = true,
monthly_installments_options = new int[]
{
3,
6,
9,
12
},
expires_at = 1609891200,
redirection_time= 4 //Tiempo de Redirección al Success/Failure URL, umbrales de 4 a 120 seg.
},
shipping_contact = new
{
phone = "+5215555555555",
receiver = "Marvin Fuller",
address = new
{
street1 = "Nuevo Leon 4",
country = "MX",
postal_code = "06100"
}
}
};
var order = new Order()
.create(JsonConvert.SerializeObject(validOrderWithCheckout));
package main
import (
"context"
"fmt"
"io"
"net/http"
"github.com/conekta/conekta-go"
)
func main() {
const acceptLanguage = "es"
cfg := conekta.NewConfiguration()
client := conekta.NewAPIClient(cfg)
ctx := context.WithValue(context.TODO(), conekta.ContextAccessToken, "key_DwaOLXoX6YCGGvfNifZ3IPwi")
rq := conekta.OrderRequest{
Checkout: &conekta.CheckoutRequest{
AllowedPaymentMethods: []string{"cash", "card", "bank_transfer"},
FailureUrl: conekta.PtrString("https://www.mysite.com/payment/failure"),
MonthlyInstallmentsEnabled: conekta.PtrBool(true),
MonthlyInstallmentsOptions: []int32{3, 6, 9, 12},
SuccessUrl: conekta.PtrString("https://www.mysite.com/payment/confirmation"),
Type: conekta.PtrString("HostedPayment"),
},
Currency: "MXN",
CustomerInfo: conekta.OrderRequestCustomerInfo{
CustomerInfoJustCustomerId: conekta.NewCustomerInfoJustCustomerId("cus_2nHprwaWFn7QJ21Lj"),
},
LineItems: []conekta.Product{
{
Name: "Box of Cohiba S1s",
UnitPrice: 35000,
Quantity: 1,
},
},
ShippingContact: &conekta.CustomerShippingContacts{
Phone: conekta.PtrString("+5215555555555"),
Receiver: conekta.PtrString("Marvin Fuller"),
Address: conekta.CustomerShippingContactsAddress{
Street1: conekta.PtrString("Nuevo Leon 4"),
PostalCode: conekta.PtrString("06100"),
Country: conekta.PtrString("MX"),
},
},
ShippingLines: []conekta.ShippingRequest{{Amount: 0}},
}
order, response, err := client.OrdersApi.CreateOrder(ctx).
OrderRequest(rq).
AcceptLanguage(acceptLanguage).
Execute()
if err != nil {
panic(err)
}
if response.StatusCode != http.StatusCreated {
responseBody, err := io.ReadAll(response.Body)
if err != nil {
panic(err)
}
panic(fmt.Sprintf("response body: %s", responseBody))
}
fmt.Printf("order: %v", order)
}
try {
Order order = Order.create(
new JSONObject("{ 'currency': 'mxn'," +
" 'customer_info': {" +
" 'customer_id': 'cus_2o3FvMEBiKitVK1vQ'" +
" }," +
" 'line_items': [{" +
" 'name': 'Box of Cohiba S1s'," +
" 'unit_price': 300000," +
" 'quantity': 1," +
" }]," +
" 'checkout': {" +
" 'allowed_payment_methods': ['cash','card','bank_transfer']," +
" 'expired_at': " + (System.currentTimeMillis() / 1000L) + 259200 + "," +
" 'failure_url': 'testredirect.com'," +
" 'force_3ds_flow': false," +
" 'monthly_installments_enabled': true," +
" 'monthly_installments_options': [3,6,9,12,18]," +
" 'success_url': 'testredirect.com'," +
" 'type': 'HostedPayment'" +
" 'redirection_time': 4," +
" }," +
" 'shipping_contact': {" +
" 'phone': '5555555555'," +
" 'receiver': 'Marvin Fuller'" +
" }" +
"}")
);
} catch (Conekta::Error e) {
System.out.println(e.details.get(0).message);
}
Esto regresa una respuesta como la siguiente:
{
"livemode": false,
"amount": 35000,
"currency": "MXN",
"amount_refunded": 0,
"customer_info": {
"email": "[email protected]",
"phone": "+5218181818181",
"name": "Juan Perez",
"object": "customer_info"
},
"shipping_contact": {
"receiver": "Marvin Fuller",
"phone": "+5215555555555",
"address": {
"street1": "Nuevo Leon 4",
"country": "mx",
"residential": true,
"object": "shipping_address",
"postal_code": "06100"
},
"id": "ship_cont_2yZr3Kg9BEXsDSUHW",
"object": "shipping_contact",
"created_at": 1756131674
},
"channel": {
"segment": "Checkout",
"checkout_request_id": "8ebff614-697a-41ea-a82a-66c666169047",
"checkout_request_type": "HostedPayment",
"id": "channel_2yZr3Kg9BEXsDSUHY"
},
"checkout": {
"id": "8ebff614-697a-41ea-a82a-66c666169047",
"name": "ord-2yZr3Kg9BEXsDSUHX",
"livemode": false,
"emails_sent": 0,
"success_url": "https://www.mysite.com/payment/confirmation",
"failure_url": "https://www.mysite.com/payment/failure",
"paid_payments_count": 0,
"sms_sent": 0,
"status": "Issued",
"type": "HostedPayment",
"recurrent": false,
"starts_at": 1756101600,
"expires_at": 1756360799,
"allowed_payment_methods": [
"card",
"apple"
],
"exclude_card_networks": [],
"needs_shipping_contact": false,
"monthly_installments_options": [
3,
6,
9,
12
],
"monthly_installments_enabled": true,
"redirection_time": 4,
"force_3ds_flow": false,
"metadata": {},
"can_not_expire": false,
"object": "checkout",
"is_redirect_on_failure": true,
"slug": "8ebff614697a41eaa82a66c666169047",
"url": "https://pay.stg.conekta.io/checkout/8ebff614697a41eaa82a66c666169047"
},
"object": "order",
"id": "ord_2yZr3Kg9BEXsDSUHX",
"metadata": {},
"is_refundable": false,
"created_at": 1756131674,
"updated_at": 1756131674,
"line_items": {
"object": "list",
"has_more": false,
"total": 1,
"data": [
{
"name": "Box of Cohiba S1s",
"unit_price": 35000,
"quantity": 1,
"object": "line_item",
"id": "line_item_2yZr3Kg9BEXsDSUHT",
"parent_id": "ord_2yZr3Kg9BEXsDSUHX",
"metadata": {},
"antifraud_info": {}
}
]
},
"shipping_lines": {
"object": "list",
"has_more": false,
"total": 1,
"data": [
{
"amount": 0,
"object": "shipping_line",
"id": "ship_lin_2yZr3Kg9BEXsDSUHU",
"parent_id": "ord_2yZr3Kg9BEXsDSUHX"
}
]
}
}
echo $result ->getCheckout()->getUrl();
puts order.checkout.allowed_payment_methods.inspect
puts order.checkout.monthly_installments_enabled
puts order.checkout.monthly_installments_options.inspect
puts order.checkout.object
puts order.checkout.url
puts order.checkout.type
console.log(stringify(order.checkout.allowed_payment_methods)); // [cash, card, bank_transfer]
console.log(stringify(order.checkout.monthly_installments_enabled)); // true
console.log(stringify(order.checkout.monthly_installments_options)); // [3, 6, 9, 12]
console.log(stringify(order.checkout.url)); // 'https://pay.conektame.io/link/964b5bdfe557467d9e02469e89b48e19
console.log(strinfiy(order.checkout.type)); // 'HostedPayment'
Console.WriteLine("[{0}]", string.Join(", ", order.checkout.allowed_payment_methods)); // [cash, card, bank_transfer]
Console.WriteLine(order.checkout.monthly_installments_enabled); // true
Console.WriteLine("[{0}]", string.Join(", ", order.checkout.monthly_installments_options)); // [3, 6, 9, 12]
Console.WriteLine(order.checkout._object); // 'checkout'
Console.WriteLine(order.checkout.url); // 'https://pay.conektame.io/link/964b5bdfe557467d9e02469e89b48e19
Console.WriteLine(order.checkout.type); // 'HostedPayment'
fmt.Println("AllowedPaymentMethod: %v\n", order.Checkout.AllowedPaymentMethods)
fmt.Println("MonthlyInstallmentsEnabled: %v\n", order.Checkout.MonthlyInstallmentsEnabled)
fmt.Println("MonthlyInstallmentOptions: %v\n", order.Checkout.MonthlyInstallmentsOptions)
fmt.Println("Url: %v\n", order.Checkout.Url)
fmt.Println("Type: %v\n", order.Checkout.Type)
System.out.println(order.checkout.allowed_payment_methods);
System.out.println(order.checkout.monthly_installments_enabled);
System.out.println(order.checkout.monthly_installments_options);
System.out.println(order.checkout.object);
System.out.println(order.checkout.type);
Al redirigir a la url del checkout podrás ver el nuevo botón de pago "Apple".
Incluir Botón de Apple Pay en mi app
Ponte en contacto con tu Customer Success para guiarte en el proceso de alta de certificados.
- Requiere que tengas una cuenta de Apple
- Si quieres puedes utilizar el SDK React Native de Conekta.
- Apple devuelve un objeto
pk_payment
con la tarjeta tokenizada. - Es necesario realizar un cruce de certificados para que Conekta pueda descifrar la tarjeta tokenizada.
- Luego de obtener el token de Apple, envíalo desde tu backend hacia Conekta de la siguiente forma:
curl --location 'https://api.conekta.io/orders' \
--header 'Accept: application/vnd.conekta-v2.0.0+json' \
--header 'Content-type: application/json' \
--header 'Authorization: Bearer key_XXXXXXX' \
--data '{
"currency": "MXN",
"customer_info": {
"customer_id": "cus_2yYDbYkcDCB5queoa"
},
"line_items": [
{
"name": "Vasija de Cerámica",
"unit_price": 20000,
"quantity": 1,
"description": "Description",
"sku": "SKU",
"tags": [
"tag1",
"tag2"
],
"brand": "Brand",
"metadata": {
"Valor3": "South#23"
}
}
],
"shipping_lines": [
{
"amount": 0,
"carrier": "Fedex",
"method": "Airplane",
"tracking_number": "TRACK000000000123",
"object": "shipping_line"
}
],
"charges": [
{
"payment_method": {
"type": "apple",
"pk_payment": {
"paymentData": {
"data": "E+xNEXPJEvqr3GwOhhHZ6f/w9wGx6+enZxCK9AnbyTefRq8Ujopfn2hXCHIwpYAU/IkLENqfEihT4yczNBqlxZoKl1NsCYh425d1rZAcaz7KsyzBUcpR47x8ADc61pjFegCxUjuEKHOM318aahN8wd5MwVFG6XLuzkNcF304Np2OQWhOHFe6z+jqjVdNrWzWMvziZ4HJswVrHw195zo0BIUrYVnGaGhvO3Hey/Pt9wU5D05Bv/Cxz0X8MepF8ws8/ps3eIQaDPcYwExqM1f9UHrhucs/YadlQgNn8jODVNAfC8lhGyjzNax5eamV0mPcufiJjDy9CZtR32xB4J1UlLEYI3W+0rpPBJhmSlN9DHe3bLOm0sT5pRhM/+/KT+z2yX+uNigTq3xg28r68HXip4n1xsp/zuCzBmN0rx1KzKlM",
"signature": "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",
"header": {
"publicKeyHash": "MSfGt2ohTwbP4bRZXB+NI/GRFnq4hDyht3hQ5OXBP+U=",
"ephemeralPublicKey": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEP0W0W6TBGpPWERtz+nD5fI67+5JgOtzXyJgcjj9rByZHG1Hqwk3N74LpKy1O/rR4L4nFyHBH9n6ueQJ2/U3WhA==",
"transactionId": "610c88f19c8d43e289fd1f15bee320d5440c3bd450fcb8431d3a8d4be73f2f01"
},
"version": "EC_v1"
},
"paymentMethod": {
"displayName": "Visa 0121",
"network": "Visa",
"type": "credit"
},
"transactionIdentifier": "610c88f19c8d43e289fd1f15bee320d5440c3bd450fcb8431d3a8d4be73f2f01"
}
}
}
],
"shipping_contact": {
"receiver": "Mario perez",
"phone": "+5215555555555",
"between_streets": "Campeche y Morelos",
"address": {
"street1": "Nuevo Leon 4",
"city": "Ciudad de Mexico",
"state": "Ciudad de Mexico",
"country": "MX",
"postal_code": "78215"
}
}
}'
<?php
require __DIR__ . '/../../vendor/autoload.php';
use Conekta\Api\OrdersApi;
use Conekta\ApiException;
use Conekta\Configuration;
use Conekta\Model\OrderRequest;
$apiKey = getenv("CONEKTA_API_KEY");
$config = Configuration::getDefaultConfiguration()->setAccessToken($apiKey);
$apiInstance = new OrdersApi(null, $config);
$accept_language = 'es';
$rq = new OrderRequest([
'currency' => 'MXN',
'customer_info' => [
'name' => 'fran carrero',
'email'=> '[email protected]',
'phone' => '+5218181818181'
],
'line_items' => [
[
'name' => 'Box of Cohiba S1s',
'unit_price' => 35000,
'quantity' => 1
]
],
'shipping_lines' => [
[
'amount' => 1500,
'carrier' => 'FEDEX'
]
],
'checkout' => [
'allowed_payment_methods' => [
'bank_transfer',
'card',
'cash'
],
'monthly_installments_enabled' => true,
'type' => 'HostedPayment',
'success_url' => 'https://www.example.com/success',
'failure_url' => 'https://www.example.com/failure',
'monthly_installments_options' => [3, 6, 12],
'redirection_time' => 4 //Redirect time to Success-Failure URL, thresholds 4 to 120 sec.
],
'shipping_contact' =>[
'phone' => '+5218181818181',
'receiver' => 'Marvin Fuller',
'address' => [
'street1' => '250 Alexis St',
'city' => 'Red Deer',
'state' => 'Alberta',
'country' => 'CA',
'postal_code' => '01000'
]
]
]);
try {
$result = $apiInstance->createOrder($rq, $accept_language);
$json_string = json_encode($result, JSON_PRETTY_PRINT);
print_r($json_string);
echo $result ->getCheckout()->getUrl();
} catch (ApiException $e) {
echo 'Exception when calling OrdersApi->createOrder: ', $e->getMessage(), PHP_EOL;
}
valid_order_with_checkout = {
line_items: [
{
name: 'Box of Cohiba S1s',
description: 'Imported From Mex.',
unit_price: 120000,
quantity: 1,
sku: 'cohbs1',
category: 'food',
tags: ['food', 'mexican food']
}
],
checkout: {
allowed_payment_methods: ["cash", "card", "bank_transfer"],
expires_at: Time.now.to_i + 259200,
failure_url: "testredirect.com",
force_2fa_flow: true,
success_url: "testredirect.com",
monthly_installments_enabled: true,
monthly_installments_options: [3, 6, 9, 12],
type: "HostedPayment",
redirection_time: 4 # Tiempo de Redirección al Success/Failure URL, umbrales de 4 a 120 seg.
},
customer_info: {
customer_id: customer.id
},
currency: 'mxn',
metadata: {test: 'extra info'}
}
order = Conekta::Order.create(valid_order_with_checkout)
puts order.inspect
order = self.client.Order.create(order)
checkout = order.createCheckout({
"currency": "MXN",
"customer_info": {
"customer_id": "cus_2o3FvMEBiKitVK1vQ"
},
"line_items": [{
"name": "Box of Cohiba S1s",
"unit_price": 300000,
"quantity": 1
}],
"shipping_lines": [{
"amount": 0
}],
"checkout": {
"type":"HostedPayment",
"success_url": "testredirect.com",
"failure_url": "testredirect.com",
"allowed_payment_methods": ["cash", "card", "bank_transfer"],
"multifactor_authentication": False,
"monthly_installments_enabled": True,
"monthly_installments_options": [3,6,9,12,18],
"expires_at": 1609891200,
"redirection_time": 4 //Tiempo de Redirección al Success/Failure URL, umbrales de 4 a 120 seg.
},
"shipping_contact": {
"phone": "+5215555555555",
"receiver": "Marvin Fuller",
"address": {
"street1": "Nuevo Leon 4",
"country": "MX",
"postal_code": "06100"
}
}
})
conekta.Order.create({
"currency": "MXN",
"customer_info": {
"customer_id": customer.id
},
"line_items": [{
"name": "Box of Cohiba S1s",
"unit_price": 300000,
"quantity": 1
}],
"shipping_lines": [{
"amount": 0
}],
"checkout": {
"type":"HostedPayment",
"success_url": "testredirect.com",
"failure_url": "testredirect.com",
"allowed_payment_methods": ["cash", "card", "bank_transfer"],
"multifactor_authentication": False,
"monthly_installments_enabled": True,
"monthly_installments_options": [3,6,9,12,18],
"expires_at": 1609891200,
"redirection_time": 4 //Tiempo de Redirección al Success/Failure URL, umbrales de 4 a 120 seg.
},
"shipping_contact": {
"phone": "+5215555555555",
"receiver": "Marvin Fuller",
"address": {
"street1": "Nuevo Leon 4",
"country": "MX",
"postal_code": "06100"
}
}
}, function(err, res) {
if(err){
console.log(err);
return;
}
console.log(res.toObject());
});
using Newtonsoft.Json;
var validOrderWithCheckout = new
{
currency: "MXN",
customer_info = new
{
customer_id = "cus_2o3FvMEBiKitVK1vQ"
},
line_items = new
[
new
{
name = "Box of Cohiba S1s",
unit_price = 300000,
quantity = 1
}
],
shipping_lines = new
[
new
{
"amount" = 0
}
],
checkout = new
{
type = "HostedPayment",
success_url = "testredirect.com",
failure_url = "testredirect.com",
allowed_payment_methods = new string[]
{
"cash",
"card",
"bank_transfer"
},
multifactor_authentication = false,
monthly_installments_enabled = true,
monthly_installments_options = new int[]
{
3,
6,
9,
12
},
expires_at = 1609891200,
redirection_time= 4 //Tiempo de Redirección al Success/Failure URL, umbrales de 4 a 120 seg.
},
shipping_contact = new
{
phone = "+5215555555555",
receiver = "Marvin Fuller",
address = new
{
street1 = "Nuevo Leon 4",
country = "MX",
postal_code = "06100"
}
}
};
var order = new Order()
.create(JsonConvert.SerializeObject(validOrderWithCheckout));
package main
import (
"context"
"fmt"
"io"
"net/http"
"github.com/conekta/conekta-go"
)
func main() {
const acceptLanguage = "es"
cfg := conekta.NewConfiguration()
client := conekta.NewAPIClient(cfg)
ctx := context.WithValue(context.TODO(), conekta.ContextAccessToken, "key_DwaOLXoX6YCGGvfNifZ3IPwi")
rq := conekta.OrderRequest{
Checkout: &conekta.CheckoutRequest{
AllowedPaymentMethods: []string{"cash", "card", "bank_transfer"},
FailureUrl: conekta.PtrString("https://www.mysite.com/payment/failure"),
MonthlyInstallmentsEnabled: conekta.PtrBool(true),
MonthlyInstallmentsOptions: []int32{3, 6, 9, 12},
SuccessUrl: conekta.PtrString("https://www.mysite.com/payment/confirmation"),
Type: conekta.PtrString("HostedPayment"),
},
Currency: "MXN",
CustomerInfo: conekta.OrderRequestCustomerInfo{
CustomerInfoJustCustomerId: conekta.NewCustomerInfoJustCustomerId("cus_2nHprwaWFn7QJ21Lj"),
},
LineItems: []conekta.Product{
{
Name: "Box of Cohiba S1s",
UnitPrice: 35000,
Quantity: 1,
},
},
ShippingContact: &conekta.CustomerShippingContacts{
Phone: conekta.PtrString("+5215555555555"),
Receiver: conekta.PtrString("Marvin Fuller"),
Address: conekta.CustomerShippingContactsAddress{
Street1: conekta.PtrString("Nuevo Leon 4"),
PostalCode: conekta.PtrString("06100"),
Country: conekta.PtrString("MX"),
},
},
ShippingLines: []conekta.ShippingRequest{{Amount: 0}},
}
order, response, err := client.OrdersApi.CreateOrder(ctx).
OrderRequest(rq).
AcceptLanguage(acceptLanguage).
Execute()
if err != nil {
panic(err)
}
if response.StatusCode != http.StatusCreated {
responseBody, err := io.ReadAll(response.Body)
if err != nil {
panic(err)
}
panic(fmt.Sprintf("response body: %s", responseBody))
}
fmt.Printf("order: %v", order)
}
try {
Order order = Order.create(
new JSONObject("{ 'currency': 'mxn'," +
" 'customer_info': {" +
" 'customer_id': 'cus_2o3FvMEBiKitVK1vQ'" +
" }," +
" 'line_items': [{" +
" 'name': 'Box of Cohiba S1s'," +
" 'unit_price': 300000," +
" 'quantity': 1," +
" }]," +
" 'checkout': {" +
" 'allowed_payment_methods': ['cash','card','bank_transfer']," +
" 'expired_at': " + (System.currentTimeMillis() / 1000L) + 259200 + "," +
" 'failure_url': 'testredirect.com'," +
" 'force_3ds_flow': false," +
" 'monthly_installments_enabled': true," +
" 'monthly_installments_options': [3,6,9,12,18]," +
" 'success_url': 'testredirect.com'," +
" 'type': 'HostedPayment'" +
" 'redirection_time': 4," +
" }," +
" 'shipping_contact': {" +
" 'phone': '5555555555'," +
" 'receiver': 'Marvin Fuller'" +
" }" +
"}")
);
} catch (Conekta::Error e) {
System.out.println(e.details.get(0).message);
}
Esto regresa una respuesta como la siguiente:
{
"livemode": false,
"amount": 20000,
"currency": "MXN",
"payment_status": "paid",
"amount_refunded": 0,
"customer_info": {
"email": "[email protected]",
"name": "andrea delgado",
"corporate": false,
"customer_id": "cus_2yYDbYkcDCB5queoa",
"object": "customer_info"
},
"shipping_contact": {
"receiver": "Mario perez",
"phone": "+5215555555555",
"between_streets": "Campeche y Morelos",
"address": {
"street1": "Nuevo Leon 4",
"city": "Ciudad de Mexico",
"state": "Ciudad de Mexico",
"country": "mx",
"residential": true,
"object": "shipping_address",
"postal_code": "78215"
},
"id": "ship_cont_2yYE5xyYQaJ8YRAG8",
"object": "shipping_contact",
"created_at": 1755703558
},
"object": "order",
"id": "ord_2yYE5xyYQaJ8YRAG9",
"metadata": {},
"is_refundable": true,
"created_at": 1755703558,
"updated_at": 1755703558,
"line_items": {
"object": "list",
"has_more": false,
"total": 1,
"data": [
{
"name": "Vasija de Cerámica",
"description": "Description",
"unit_price": 20000,
"quantity": 1,
"sku": "SKU",
"tags": [
"tag1",
"tag2"
],
"brand": "Brand",
"object": "line_item",
"id": "line_item_2yYE5xyYQaJ8YRAG5",
"parent_id": "ord_2yYE5xyYQaJ8YRAG9",
"metadata": {
"Valor3": "South#23"
},
"antifraud_info": {}
}
]
},
"shipping_lines": {
"object": "list",
"has_more": false,
"total": 1,
"data": [
{
"amount": 0,
"carrier": "Fedex",
"method": "Airplane",
"tracking_number": "TRACK000000000123",
"object": "shipping_line",
"id": "ship_lin_2yYE5xyYQaJ8YRAG6",
"parent_id": "ord_2yYE5xyYQaJ8YRAG9"
}
]
},
"charges": {
"object": "list",
"has_more": false,
"total": 1,
"data": [
{
"id": "68a5e90679fcdd001abab388",
"livemode": false,
"created_at": 1755703558,
"currency": "MXN",
"payment_method": {
"auth_code": "976866",
"object": "card_payment",
"type": "credit",
"last4": "0121",
"brand": "visa",
"issuer": "",
"account_type": "",
"country": "MX",
"fraud_indicators": [],
"antifraud_flag": "",
"three_ds_flow_required": false,
"product_type": "apple_pay"
},
"object": "charge",
"description": "Payment from order",
"status": "paid",
"amount": 20000,
"paid_at": 1755703558,
"fee": 2785,
"customer_id": "cus_2yYDbYkcDCB5queoa",
"order_id": "ord_2yYE5xyYQaJ8YRAG9"
}
]
}
}
echo $result ->getCheckout()->getUrl();
puts order.checkout.allowed_payment_methods.inspect
puts order.checkout.monthly_installments_enabled
puts order.checkout.monthly_installments_options.inspect
puts order.checkout.object
puts order.checkout.url
puts order.checkout.type
console.log(stringify(order.checkout.allowed_payment_methods)); // [cash, card, bank_transfer]
console.log(stringify(order.checkout.monthly_installments_enabled)); // true
console.log(stringify(order.checkout.monthly_installments_options)); // [3, 6, 9, 12]
console.log(stringify(order.checkout.url)); // 'https://pay.conektame.io/link/964b5bdfe557467d9e02469e89b48e19
console.log(strinfiy(order.checkout.type)); // 'HostedPayment'
Console.WriteLine("[{0}]", string.Join(", ", order.checkout.allowed_payment_methods)); // [cash, card, bank_transfer]
Console.WriteLine(order.checkout.monthly_installments_enabled); // true
Console.WriteLine("[{0}]", string.Join(", ", order.checkout.monthly_installments_options)); // [3, 6, 9, 12]
Console.WriteLine(order.checkout._object); // 'checkout'
Console.WriteLine(order.checkout.url); // 'https://pay.conektame.io/link/964b5bdfe557467d9e02469e89b48e19
Console.WriteLine(order.checkout.type); // 'HostedPayment'
fmt.Println("AllowedPaymentMethod: %v\n", order.Checkout.AllowedPaymentMethods)
fmt.Println("MonthlyInstallmentsEnabled: %v\n", order.Checkout.MonthlyInstallmentsEnabled)
fmt.Println("MonthlyInstallmentOptions: %v\n", order.Checkout.MonthlyInstallmentsOptions)
fmt.Println("Url: %v\n", order.Checkout.Url)
fmt.Println("Type: %v\n", order.Checkout.Type)
System.out.println(order.checkout.allowed_payment_methods);
System.out.println(order.checkout.monthly_installments_enabled);
System.out.println(order.checkout.monthly_installments_options);
System.out.println(order.checkout.object);
System.out.println(order.checkout.type);
WIP
Incluir Botón de Apple Pay en mi sitio Web
Puedes integrar Apple Pay en tu sitio de dos formas:
Opción A – Con cuenta de Apple
Ponte en contacto con tu Customer Success para guiarte en el proceso de alta de certificados.
- Requiere que tengas una cuenta de Apple.
- Debes integrar el botón de Apple Pay en tu sitio
- Apple devuelve un objeto
pk_payment
con la tarjeta tokenizada. - Es necesario realizar un cruce de certificados para que Conekta pueda descifrar la tarjeta tokenizada.
- Luego de obtener el token de Apple, envíalo desde tu backend hacia Conekta de la siguiente forma:
curl --location 'https://api.conekta.io/orders' \
--header 'Accept: application/vnd.conekta-v2.0.0+json' \
--header 'Content-type: application/json' \
--header 'Authorization: Bearer key_XXXXXXX' \
--data '{
"currency": "MXN",
"customer_info": {
"customer_id": "cus_2yYDbYkcDCB5queoa"
},
"line_items": [
{
"name": "Vasija de Cerámica",
"unit_price": 20000,
"quantity": 1,
"description": "Description",
"sku": "SKU",
"tags": [
"tag1",
"tag2"
],
"brand": "Brand",
"metadata": {
"Valor3": "South#23"
}
}
],
"shipping_lines": [
{
"amount": 0,
"carrier": "Fedex",
"method": "Airplane",
"tracking_number": "TRACK000000000123",
"object": "shipping_line"
}
],
"charges": [
{
"payment_method": {
"type": "apple",
"pk_payment": {
"paymentData": {
"data": "E+xNEXPJEvqr3GwOhhHZ6f/w9wGx6+enZxCK9AnbyTefRq8Ujopfn2hXCHIwpYAU/IkLENqfEihT4yczNBqlxZoKl1NsCYh425d1rZAcaz7KsyzBUcpR47x8ADc61pjFegCxUjuEKHOM318aahN8wd5MwVFG6XLuzkNcF304Np2OQWhOHFe6z+jqjVdNrWzWMvziZ4HJswVrHw195zo0BIUrYVnGaGhvO3Hey/Pt9wU5D05Bv/Cxz0X8MepF8ws8/ps3eIQaDPcYwExqM1f9UHrhucs/YadlQgNn8jODVNAfC8lhGyjzNax5eamV0mPcufiJjDy9CZtR32xB4J1UlLEYI3W+0rpPBJhmSlN9DHe3bLOm0sT5pRhM/+/KT+z2yX+uNigTq3xg28r68HXip4n1xsp/zuCzBmN0rx1KzKlM",
"signature": "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",
"header": {
"publicKeyHash": "MSfGt2ohTwbP4bRZXB+NI/GRFnq4hDyht3hQ5OXBP+U=",
"ephemeralPublicKey": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEP0W0W6TBGpPWERtz+nD5fI67+5JgOtzXyJgcjj9rByZHG1Hqwk3N74LpKy1O/rR4L4nFyHBH9n6ueQJ2/U3WhA==",
"transactionId": "610c88f19c8d43e289fd1f15bee320d5440c3bd450fcb8431d3a8d4be73f2f01"
},
"version": "EC_v1"
},
"paymentMethod": {
"displayName": "Visa 0121",
"network": "Visa",
"type": "credit"
},
"transactionIdentifier": "610c88f19c8d43e289fd1f15bee320d5440c3bd450fcb8431d3a8d4be73f2f01"
}
}
}
],
"shipping_contact": {
"receiver": "Mario perez",
"phone": "+5215555555555",
"between_streets": "Campeche y Morelos",
"address": {
"street1": "Nuevo Leon 4",
"city": "Ciudad de Mexico",
"state": "Ciudad de Mexico",
"country": "MX",
"postal_code": "78215"
}
}
}'
<?php
require __DIR__ . '/../../vendor/autoload.php';
use Conekta\Api\OrdersApi;
use Conekta\ApiException;
use Conekta\Configuration;
use Conekta\Model\OrderRequest;
$apiKey = getenv("CONEKTA_API_KEY");
$config = Configuration::getDefaultConfiguration()->setAccessToken($apiKey);
$apiInstance = new OrdersApi(null, $config);
$accept_language = 'es';
$rq = new OrderRequest([
'currency' => 'MXN',
'customer_info' => [
'name' => 'fran carrero',
'email'=> '[email protected]',
'phone' => '+5218181818181'
],
'line_items' => [
[
'name' => 'Box of Cohiba S1s',
'unit_price' => 35000,
'quantity' => 1
]
],
'shipping_lines' => [
[
'amount' => 1500,
'carrier' => 'FEDEX'
]
],
'checkout' => [
'allowed_payment_methods' => [
'bank_transfer',
'card',
'cash'
],
'monthly_installments_enabled' => true,
'type' => 'HostedPayment',
'success_url' => 'https://www.example.com/success',
'failure_url' => 'https://www.example.com/failure',
'monthly_installments_options' => [3, 6, 12],
'redirection_time' => 4 //Redirect time to Success-Failure URL, thresholds 4 to 120 sec.
],
'shipping_contact' =>[
'phone' => '+5218181818181',
'receiver' => 'Marvin Fuller',
'address' => [
'street1' => '250 Alexis St',
'city' => 'Red Deer',
'state' => 'Alberta',
'country' => 'CA',
'postal_code' => '01000'
]
]
]);
try {
$result = $apiInstance->createOrder($rq, $accept_language);
$json_string = json_encode($result, JSON_PRETTY_PRINT);
print_r($json_string);
echo $result ->getCheckout()->getUrl();
} catch (ApiException $e) {
echo 'Exception when calling OrdersApi->createOrder: ', $e->getMessage(), PHP_EOL;
}
valid_order_with_checkout = {
line_items: [
{
name: 'Box of Cohiba S1s',
description: 'Imported From Mex.',
unit_price: 120000,
quantity: 1,
sku: 'cohbs1',
category: 'food',
tags: ['food', 'mexican food']
}
],
checkout: {
allowed_payment_methods: ["cash", "card", "bank_transfer"],
expires_at: Time.now.to_i + 259200,
failure_url: "testredirect.com",
force_2fa_flow: true,
success_url: "testredirect.com",
monthly_installments_enabled: true,
monthly_installments_options: [3, 6, 9, 12],
type: "HostedPayment",
redirection_time: 4 # Tiempo de Redirección al Success/Failure URL, umbrales de 4 a 120 seg.
},
customer_info: {
customer_id: customer.id
},
currency: 'mxn',
metadata: {test: 'extra info'}
}
order = Conekta::Order.create(valid_order_with_checkout)
puts order.inspect
order = self.client.Order.create(order)
checkout = order.createCheckout({
"currency": "MXN",
"customer_info": {
"customer_id": "cus_2o3FvMEBiKitVK1vQ"
},
"line_items": [{
"name": "Box of Cohiba S1s",
"unit_price": 300000,
"quantity": 1
}],
"shipping_lines": [{
"amount": 0
}],
"checkout": {
"type":"HostedPayment",
"success_url": "testredirect.com",
"failure_url": "testredirect.com",
"allowed_payment_methods": ["cash", "card", "bank_transfer"],
"multifactor_authentication": False,
"monthly_installments_enabled": True,
"monthly_installments_options": [3,6,9,12,18],
"expires_at": 1609891200,
"redirection_time": 4 //Tiempo de Redirección al Success/Failure URL, umbrales de 4 a 120 seg.
},
"shipping_contact": {
"phone": "+5215555555555",
"receiver": "Marvin Fuller",
"address": {
"street1": "Nuevo Leon 4",
"country": "MX",
"postal_code": "06100"
}
}
})
conekta.Order.create({
"currency": "MXN",
"customer_info": {
"customer_id": customer.id
},
"line_items": [{
"name": "Box of Cohiba S1s",
"unit_price": 300000,
"quantity": 1
}],
"shipping_lines": [{
"amount": 0
}],
"checkout": {
"type":"HostedPayment",
"success_url": "testredirect.com",
"failure_url": "testredirect.com",
"allowed_payment_methods": ["cash", "card", "bank_transfer"],
"multifactor_authentication": False,
"monthly_installments_enabled": True,
"monthly_installments_options": [3,6,9,12,18],
"expires_at": 1609891200,
"redirection_time": 4 //Tiempo de Redirección al Success/Failure URL, umbrales de 4 a 120 seg.
},
"shipping_contact": {
"phone": "+5215555555555",
"receiver": "Marvin Fuller",
"address": {
"street1": "Nuevo Leon 4",
"country": "MX",
"postal_code": "06100"
}
}
}, function(err, res) {
if(err){
console.log(err);
return;
}
console.log(res.toObject());
});
using Newtonsoft.Json;
var validOrderWithCheckout = new
{
currency: "MXN",
customer_info = new
{
customer_id = "cus_2o3FvMEBiKitVK1vQ"
},
line_items = new
[
new
{
name = "Box of Cohiba S1s",
unit_price = 300000,
quantity = 1
}
],
shipping_lines = new
[
new
{
"amount" = 0
}
],
checkout = new
{
type = "HostedPayment",
success_url = "testredirect.com",
failure_url = "testredirect.com",
allowed_payment_methods = new string[]
{
"cash",
"card",
"bank_transfer"
},
multifactor_authentication = false,
monthly_installments_enabled = true,
monthly_installments_options = new int[]
{
3,
6,
9,
12
},
expires_at = 1609891200,
redirection_time= 4 //Tiempo de Redirección al Success/Failure URL, umbrales de 4 a 120 seg.
},
shipping_contact = new
{
phone = "+5215555555555",
receiver = "Marvin Fuller",
address = new
{
street1 = "Nuevo Leon 4",
country = "MX",
postal_code = "06100"
}
}
};
var order = new Order()
.create(JsonConvert.SerializeObject(validOrderWithCheckout));
package main
import (
"context"
"fmt"
"io"
"net/http"
"github.com/conekta/conekta-go"
)
func main() {
const acceptLanguage = "es"
cfg := conekta.NewConfiguration()
client := conekta.NewAPIClient(cfg)
ctx := context.WithValue(context.TODO(), conekta.ContextAccessToken, "key_DwaOLXoX6YCGGvfNifZ3IPwi")
rq := conekta.OrderRequest{
Checkout: &conekta.CheckoutRequest{
AllowedPaymentMethods: []string{"cash", "card", "bank_transfer"},
FailureUrl: conekta.PtrString("https://www.mysite.com/payment/failure"),
MonthlyInstallmentsEnabled: conekta.PtrBool(true),
MonthlyInstallmentsOptions: []int32{3, 6, 9, 12},
SuccessUrl: conekta.PtrString("https://www.mysite.com/payment/confirmation"),
Type: conekta.PtrString("HostedPayment"),
},
Currency: "MXN",
CustomerInfo: conekta.OrderRequestCustomerInfo{
CustomerInfoJustCustomerId: conekta.NewCustomerInfoJustCustomerId("cus_2nHprwaWFn7QJ21Lj"),
},
LineItems: []conekta.Product{
{
Name: "Box of Cohiba S1s",
UnitPrice: 35000,
Quantity: 1,
},
},
ShippingContact: &conekta.CustomerShippingContacts{
Phone: conekta.PtrString("+5215555555555"),
Receiver: conekta.PtrString("Marvin Fuller"),
Address: conekta.CustomerShippingContactsAddress{
Street1: conekta.PtrString("Nuevo Leon 4"),
PostalCode: conekta.PtrString("06100"),
Country: conekta.PtrString("MX"),
},
},
ShippingLines: []conekta.ShippingRequest{{Amount: 0}},
}
order, response, err := client.OrdersApi.CreateOrder(ctx).
OrderRequest(rq).
AcceptLanguage(acceptLanguage).
Execute()
if err != nil {
panic(err)
}
if response.StatusCode != http.StatusCreated {
responseBody, err := io.ReadAll(response.Body)
if err != nil {
panic(err)
}
panic(fmt.Sprintf("response body: %s", responseBody))
}
fmt.Printf("order: %v", order)
}
try {
Order order = Order.create(
new JSONObject("{ 'currency': 'mxn'," +
" 'customer_info': {" +
" 'customer_id': 'cus_2o3FvMEBiKitVK1vQ'" +
" }," +
" 'line_items': [{" +
" 'name': 'Box of Cohiba S1s'," +
" 'unit_price': 300000," +
" 'quantity': 1," +
" }]," +
" 'checkout': {" +
" 'allowed_payment_methods': ['cash','card','bank_transfer']," +
" 'expired_at': " + (System.currentTimeMillis() / 1000L) + 259200 + "," +
" 'failure_url': 'testredirect.com'," +
" 'force_3ds_flow': false," +
" 'monthly_installments_enabled': true," +
" 'monthly_installments_options': [3,6,9,12,18]," +
" 'success_url': 'testredirect.com'," +
" 'type': 'HostedPayment'" +
" 'redirection_time': 4," +
" }," +
" 'shipping_contact': {" +
" 'phone': '5555555555'," +
" 'receiver': 'Marvin Fuller'" +
" }" +
"}")
);
} catch (Conekta::Error e) {
System.out.println(e.details.get(0).message);
}
Esto regresa una respuesta como la siguiente:
{
"livemode": false,
"amount": 20000,
"currency": "MXN",
"payment_status": "paid",
"amount_refunded": 0,
"customer_info": {
"email": "[email protected]",
"name": "andrea delgado",
"corporate": false,
"customer_id": "cus_2yYDbYkcDCB5queoa",
"object": "customer_info"
},
"shipping_contact": {
"receiver": "Mario perez",
"phone": "+5215555555555",
"between_streets": "Campeche y Morelos",
"address": {
"street1": "Nuevo Leon 4",
"city": "Ciudad de Mexico",
"state": "Ciudad de Mexico",
"country": "mx",
"residential": true,
"object": "shipping_address",
"postal_code": "78215"
},
"id": "ship_cont_2yYE5xyYQaJ8YRAG8",
"object": "shipping_contact",
"created_at": 1755703558
},
"object": "order",
"id": "ord_2yYE5xyYQaJ8YRAG9",
"metadata": {},
"is_refundable": true,
"created_at": 1755703558,
"updated_at": 1755703558,
"line_items": {
"object": "list",
"has_more": false,
"total": 1,
"data": [
{
"name": "Vasija de Cerámica",
"description": "Description",
"unit_price": 20000,
"quantity": 1,
"sku": "SKU",
"tags": [
"tag1",
"tag2"
],
"brand": "Brand",
"object": "line_item",
"id": "line_item_2yYE5xyYQaJ8YRAG5",
"parent_id": "ord_2yYE5xyYQaJ8YRAG9",
"metadata": {
"Valor3": "South#23"
},
"antifraud_info": {}
}
]
},
"shipping_lines": {
"object": "list",
"has_more": false,
"total": 1,
"data": [
{
"amount": 0,
"carrier": "Fedex",
"method": "Airplane",
"tracking_number": "TRACK000000000123",
"object": "shipping_line",
"id": "ship_lin_2yYE5xyYQaJ8YRAG6",
"parent_id": "ord_2yYE5xyYQaJ8YRAG9"
}
]
},
"charges": {
"object": "list",
"has_more": false,
"total": 1,
"data": [
{
"id": "68a5e90679fcdd001abab388",
"livemode": false,
"created_at": 1755703558,
"currency": "MXN",
"payment_method": {
"auth_code": "976866",
"object": "card_payment",
"type": "credit",
"last4": "0121",
"brand": "visa",
"issuer": "",
"account_type": "",
"country": "MX",
"fraud_indicators": [],
"antifraud_flag": "",
"three_ds_flow_required": false,
"product_type": "apple_pay"
},
"object": "charge",
"description": "Payment from order",
"status": "paid",
"amount": 20000,
"paid_at": 1755703558,
"fee": 2785,
"customer_id": "cus_2yYDbYkcDCB5queoa",
"order_id": "ord_2yYE5xyYQaJ8YRAG9"
}
]
}
}
echo $result ->getCheckout()->getUrl();
puts order.checkout.allowed_payment_methods.inspect
puts order.checkout.monthly_installments_enabled
puts order.checkout.monthly_installments_options.inspect
puts order.checkout.object
puts order.checkout.url
puts order.checkout.type
console.log(stringify(order.checkout.allowed_payment_methods)); // [cash, card, bank_transfer]
console.log(stringify(order.checkout.monthly_installments_enabled)); // true
console.log(stringify(order.checkout.monthly_installments_options)); // [3, 6, 9, 12]
console.log(stringify(order.checkout.url)); // 'https://pay.conektame.io/link/964b5bdfe557467d9e02469e89b48e19
console.log(strinfiy(order.checkout.type)); // 'HostedPayment'
Console.WriteLine("[{0}]", string.Join(", ", order.checkout.allowed_payment_methods)); // [cash, card, bank_transfer]
Console.WriteLine(order.checkout.monthly_installments_enabled); // true
Console.WriteLine("[{0}]", string.Join(", ", order.checkout.monthly_installments_options)); // [3, 6, 9, 12]
Console.WriteLine(order.checkout._object); // 'checkout'
Console.WriteLine(order.checkout.url); // 'https://pay.conektame.io/link/964b5bdfe557467d9e02469e89b48e19
Console.WriteLine(order.checkout.type); // 'HostedPayment'
fmt.Println("AllowedPaymentMethod: %v\n", order.Checkout.AllowedPaymentMethods)
fmt.Println("MonthlyInstallmentsEnabled: %v\n", order.Checkout.MonthlyInstallmentsEnabled)
fmt.Println("MonthlyInstallmentOptions: %v\n", order.Checkout.MonthlyInstallmentsOptions)
fmt.Println("Url: %v\n", order.Checkout.Url)
fmt.Println("Type: %v\n", order.Checkout.Type)
System.out.println(order.checkout.allowed_payment_methods);
System.out.println(order.checkout.monthly_installments_enabled);
System.out.println(order.checkout.monthly_installments_options);
System.out.println(order.checkout.object);
System.out.println(order.checkout.type);
WIP
Opción B – Sin cuenta de Apple
Ponte en contacto con tu Customer Success para whitelistear tu comercio.
- Conekta realiza el whitelist de los dominios de tu comercio en los certificados de Conekta.
- No es necesario que tengas cuenta de Apple.
- Debes integrar el botón de Apple Pay generando la sesión por el endpoint provisto por conekta:
curl --location --request POST 'https://api.conekta.com/apple_pay/session' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer key_XXXXXXX' \
--data-raw '{
"isTrusted": true,
"methodName": "https://apple.com/apple-pay",
"validationURL": "https://apple-pay-gateway.apple.com/paymentservices/startSession"
}'
<?php
require __DIR__ . '/../../vendor/autoload.php';
use Conekta\Api\OrdersApi;
use Conekta\ApiException;
use Conekta\Configuration;
use Conekta\Model\OrderRequest;
$apiKey = getenv("CONEKTA_API_KEY");
$config = Configuration::getDefaultConfiguration()->setAccessToken($apiKey);
$apiInstance = new OrdersApi(null, $config);
$accept_language = 'es';
$rq = new OrderRequest([
'currency' => 'MXN',
'customer_info' => [
'name' => 'fran carrero',
'email'=> '[email protected]',
'phone' => '+5218181818181'
],
'line_items' => [
[
'name' => 'Box of Cohiba S1s',
'unit_price' => 35000,
'quantity' => 1
]
],
'shipping_lines' => [
[
'amount' => 1500,
'carrier' => 'FEDEX'
]
],
'checkout' => [
'allowed_payment_methods' => [
'bank_transfer',
'card',
'cash'
],
'monthly_installments_enabled' => true,
'type' => 'HostedPayment',
'success_url' => 'https://www.example.com/success',
'failure_url' => 'https://www.example.com/failure',
'monthly_installments_options' => [3, 6, 12],
'redirection_time' => 4 //Redirect time to Success-Failure URL, thresholds 4 to 120 sec.
],
'shipping_contact' =>[
'phone' => '+5218181818181',
'receiver' => 'Marvin Fuller',
'address' => [
'street1' => '250 Alexis St',
'city' => 'Red Deer',
'state' => 'Alberta',
'country' => 'CA',
'postal_code' => '01000'
]
]
]);
try {
$result = $apiInstance->createOrder($rq, $accept_language);
$json_string = json_encode($result, JSON_PRETTY_PRINT);
print_r($json_string);
echo $result ->getCheckout()->getUrl();
} catch (ApiException $e) {
echo 'Exception when calling OrdersApi->createOrder: ', $e->getMessage(), PHP_EOL;
}
valid_order_with_checkout = {
line_items: [
{
name: 'Box of Cohiba S1s',
description: 'Imported From Mex.',
unit_price: 120000,
quantity: 1,
sku: 'cohbs1',
category: 'food',
tags: ['food', 'mexican food']
}
],
checkout: {
allowed_payment_methods: ["cash", "card", "bank_transfer"],
expires_at: Time.now.to_i + 259200,
failure_url: "testredirect.com",
force_2fa_flow: true,
success_url: "testredirect.com",
monthly_installments_enabled: true,
monthly_installments_options: [3, 6, 9, 12],
type: "HostedPayment",
redirection_time: 4 # Tiempo de Redirección al Success/Failure URL, umbrales de 4 a 120 seg.
},
customer_info: {
customer_id: customer.id
},
currency: 'mxn',
metadata: {test: 'extra info'}
}
order = Conekta::Order.create(valid_order_with_checkout)
puts order.inspect
order = self.client.Order.create(order)
checkout = order.createCheckout({
"currency": "MXN",
"customer_info": {
"customer_id": "cus_2o3FvMEBiKitVK1vQ"
},
"line_items": [{
"name": "Box of Cohiba S1s",
"unit_price": 300000,
"quantity": 1
}],
"shipping_lines": [{
"amount": 0
}],
"checkout": {
"type":"HostedPayment",
"success_url": "testredirect.com",
"failure_url": "testredirect.com",
"allowed_payment_methods": ["cash", "card", "bank_transfer"],
"multifactor_authentication": False,
"monthly_installments_enabled": True,
"monthly_installments_options": [3,6,9,12,18],
"expires_at": 1609891200,
"redirection_time": 4 //Tiempo de Redirección al Success/Failure URL, umbrales de 4 a 120 seg.
},
"shipping_contact": {
"phone": "+5215555555555",
"receiver": "Marvin Fuller",
"address": {
"street1": "Nuevo Leon 4",
"country": "MX",
"postal_code": "06100"
}
}
})
conekta.Order.create({
"currency": "MXN",
"customer_info": {
"customer_id": customer.id
},
"line_items": [{
"name": "Box of Cohiba S1s",
"unit_price": 300000,
"quantity": 1
}],
"shipping_lines": [{
"amount": 0
}],
"checkout": {
"type":"HostedPayment",
"success_url": "testredirect.com",
"failure_url": "testredirect.com",
"allowed_payment_methods": ["cash", "card", "bank_transfer"],
"multifactor_authentication": False,
"monthly_installments_enabled": True,
"monthly_installments_options": [3,6,9,12,18],
"expires_at": 1609891200,
"redirection_time": 4 //Tiempo de Redirección al Success/Failure URL, umbrales de 4 a 120 seg.
},
"shipping_contact": {
"phone": "+5215555555555",
"receiver": "Marvin Fuller",
"address": {
"street1": "Nuevo Leon 4",
"country": "MX",
"postal_code": "06100"
}
}
}, function(err, res) {
if(err){
console.log(err);
return;
}
console.log(res.toObject());
});
using Newtonsoft.Json;
var validOrderWithCheckout = new
{
currency: "MXN",
customer_info = new
{
customer_id = "cus_2o3FvMEBiKitVK1vQ"
},
line_items = new
[
new
{
name = "Box of Cohiba S1s",
unit_price = 300000,
quantity = 1
}
],
shipping_lines = new
[
new
{
"amount" = 0
}
],
checkout = new
{
type = "HostedPayment",
success_url = "testredirect.com",
failure_url = "testredirect.com",
allowed_payment_methods = new string[]
{
"cash",
"card",
"bank_transfer"
},
multifactor_authentication = false,
monthly_installments_enabled = true,
monthly_installments_options = new int[]
{
3,
6,
9,
12
},
expires_at = 1609891200,
redirection_time= 4 //Tiempo de Redirección al Success/Failure URL, umbrales de 4 a 120 seg.
},
shipping_contact = new
{
phone = "+5215555555555",
receiver = "Marvin Fuller",
address = new
{
street1 = "Nuevo Leon 4",
country = "MX",
postal_code = "06100"
}
}
};
var order = new Order()
.create(JsonConvert.SerializeObject(validOrderWithCheckout));
package main
import (
"context"
"fmt"
"io"
"net/http"
"github.com/conekta/conekta-go"
)
func main() {
const acceptLanguage = "es"
cfg := conekta.NewConfiguration()
client := conekta.NewAPIClient(cfg)
ctx := context.WithValue(context.TODO(), conekta.ContextAccessToken, "key_DwaOLXoX6YCGGvfNifZ3IPwi")
rq := conekta.OrderRequest{
Checkout: &conekta.CheckoutRequest{
AllowedPaymentMethods: []string{"cash", "card", "bank_transfer"},
FailureUrl: conekta.PtrString("https://www.mysite.com/payment/failure"),
MonthlyInstallmentsEnabled: conekta.PtrBool(true),
MonthlyInstallmentsOptions: []int32{3, 6, 9, 12},
SuccessUrl: conekta.PtrString("https://www.mysite.com/payment/confirmation"),
Type: conekta.PtrString("HostedPayment"),
},
Currency: "MXN",
CustomerInfo: conekta.OrderRequestCustomerInfo{
CustomerInfoJustCustomerId: conekta.NewCustomerInfoJustCustomerId("cus_2nHprwaWFn7QJ21Lj"),
},
LineItems: []conekta.Product{
{
Name: "Box of Cohiba S1s",
UnitPrice: 35000,
Quantity: 1,
},
},
ShippingContact: &conekta.CustomerShippingContacts{
Phone: conekta.PtrString("+5215555555555"),
Receiver: conekta.PtrString("Marvin Fuller"),
Address: conekta.CustomerShippingContactsAddress{
Street1: conekta.PtrString("Nuevo Leon 4"),
PostalCode: conekta.PtrString("06100"),
Country: conekta.PtrString("MX"),
},
},
ShippingLines: []conekta.ShippingRequest{{Amount: 0}},
}
order, response, err := client.OrdersApi.CreateOrder(ctx).
OrderRequest(rq).
AcceptLanguage(acceptLanguage).
Execute()
if err != nil {
panic(err)
}
if response.StatusCode != http.StatusCreated {
responseBody, err := io.ReadAll(response.Body)
if err != nil {
panic(err)
}
panic(fmt.Sprintf("response body: %s", responseBody))
}
fmt.Printf("order: %v", order)
}
try {
Order order = Order.create(
new JSONObject("{ 'currency': 'mxn'," +
" 'customer_info': {" +
" 'customer_id': 'cus_2o3FvMEBiKitVK1vQ'" +
" }," +
" 'line_items': [{" +
" 'name': 'Box of Cohiba S1s'," +
" 'unit_price': 300000," +
" 'quantity': 1," +
" }]," +
" 'checkout': {" +
" 'allowed_payment_methods': ['cash','card','bank_transfer']," +
" 'expired_at': " + (System.currentTimeMillis() / 1000L) + 259200 + "," +
" 'failure_url': 'testredirect.com'," +
" 'force_3ds_flow': false," +
" 'monthly_installments_enabled': true," +
" 'monthly_installments_options': [3,6,9,12,18]," +
" 'success_url': 'testredirect.com'," +
" 'type': 'HostedPayment'" +
" 'redirection_time': 4," +
" }," +
" 'shipping_contact': {" +
" 'phone': '5555555555'," +
" 'receiver': 'Marvin Fuller'" +
" }" +
"}")
);
} catch (Conekta::Error e) {
System.out.println(e.details.get(0).message);
}
- Luego, envía el objeto
pk_payment
desde tu backend hacia conekta de la siguiente forma:
curl --location 'https://api.conekta.io/orders' \
--header 'Accept: application/vnd.conekta-v2.0.0+json' \
--header 'Content-type: application/json' \
--header 'Authorization: Bearer key_XXXXXXX' \
--data '{
"currency": "MXN",
"customer_info": {
"customer_id": "cus_2yYDbYkcDCB5queoa"
},
"line_items": [
{
"name": "Vasija de Cerámica",
"unit_price": 20000,
"quantity": 1,
"description": "Description",
"sku": "SKU",
"tags": [
"tag1",
"tag2"
],
"brand": "Brand",
"metadata": {
"Valor3": "South#23"
}
}
],
"shipping_lines": [
{
"amount": 0,
"carrier": "Fedex",
"method": "Airplane",
"tracking_number": "TRACK000000000123",
"object": "shipping_line"
}
],
"charges": [
{
"payment_method": {
"type": "apple",
"pk_payment": {
"paymentData": {
"data": "E+xNEXPJEvqr3GwOhhHZ6f/w9wGx6+enZxCK9AnbyTefRq8Ujopfn2hXCHIwpYAU/IkLENqfEihT4yczNBqlxZoKl1NsCYh425d1rZAcaz7KsyzBUcpR47x8ADc61pjFegCxUjuEKHOM318aahN8wd5MwVFG6XLuzkNcF304Np2OQWhOHFe6z+jqjVdNrWzWMvziZ4HJswVrHw195zo0BIUrYVnGaGhvO3Hey/Pt9wU5D05Bv/Cxz0X8MepF8ws8/ps3eIQaDPcYwExqM1f9UHrhucs/YadlQgNn8jODVNAfC8lhGyjzNax5eamV0mPcufiJjDy9CZtR32xB4J1UlLEYI3W+0rpPBJhmSlN9DHe3bLOm0sT5pRhM/+/KT+z2yX+uNigTq3xg28r68HXip4n1xsp/zuCzBmN0rx1KzKlM",
"signature": "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",
"header": {
"publicKeyHash": "MSfGt2ohTwbP4bRZXB+NI/GRFnq4hDyht3hQ5OXBP+U=",
"ephemeralPublicKey": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEP0W0W6TBGpPWERtz+nD5fI67+5JgOtzXyJgcjj9rByZHG1Hqwk3N74LpKy1O/rR4L4nFyHBH9n6ueQJ2/U3WhA==",
"transactionId": "610c88f19c8d43e289fd1f15bee320d5440c3bd450fcb8431d3a8d4be73f2f01"
},
"version": "EC_v1"
},
"paymentMethod": {
"displayName": "Visa 0121",
"network": "Visa",
"type": "credit"
},
"transactionIdentifier": "610c88f19c8d43e289fd1f15bee320d5440c3bd450fcb8431d3a8d4be73f2f01"
}
}
}
],
"shipping_contact": {
"receiver": "Mario perez",
"phone": "+5215555555555",
"between_streets": "Campeche y Morelos",
"address": {
"street1": "Nuevo Leon 4",
"city": "Ciudad de Mexico",
"state": "Ciudad de Mexico",
"country": "MX",
"postal_code": "78215"
}
}
}'
<?php
require __DIR__ . '/../../vendor/autoload.php';
use Conekta\Api\OrdersApi;
use Conekta\ApiException;
use Conekta\Configuration;
use Conekta\Model\OrderRequest;
$apiKey = getenv("CONEKTA_API_KEY");
$config = Configuration::getDefaultConfiguration()->setAccessToken($apiKey);
$apiInstance = new OrdersApi(null, $config);
$accept_language = 'es';
$rq = new OrderRequest([
'currency' => 'MXN',
'customer_info' => [
'name' => 'fran carrero',
'email'=> '[email protected]',
'phone' => '+5218181818181'
],
'line_items' => [
[
'name' => 'Box of Cohiba S1s',
'unit_price' => 35000,
'quantity' => 1
]
],
'shipping_lines' => [
[
'amount' => 1500,
'carrier' => 'FEDEX'
]
],
'checkout' => [
'allowed_payment_methods' => [
'bank_transfer',
'card',
'cash'
],
'monthly_installments_enabled' => true,
'type' => 'HostedPayment',
'success_url' => 'https://www.example.com/success',
'failure_url' => 'https://www.example.com/failure',
'monthly_installments_options' => [3, 6, 12],
'redirection_time' => 4 //Redirect time to Success-Failure URL, thresholds 4 to 120 sec.
],
'shipping_contact' =>[
'phone' => '+5218181818181',
'receiver' => 'Marvin Fuller',
'address' => [
'street1' => '250 Alexis St',
'city' => 'Red Deer',
'state' => 'Alberta',
'country' => 'CA',
'postal_code' => '01000'
]
]
]);
try {
$result = $apiInstance->createOrder($rq, $accept_language);
$json_string = json_encode($result, JSON_PRETTY_PRINT);
print_r($json_string);
echo $result ->getCheckout()->getUrl();
} catch (ApiException $e) {
echo 'Exception when calling OrdersApi->createOrder: ', $e->getMessage(), PHP_EOL;
}
valid_order_with_checkout = {
line_items: [
{
name: 'Box of Cohiba S1s',
description: 'Imported From Mex.',
unit_price: 120000,
quantity: 1,
sku: 'cohbs1',
category: 'food',
tags: ['food', 'mexican food']
}
],
checkout: {
allowed_payment_methods: ["cash", "card", "bank_transfer"],
expires_at: Time.now.to_i + 259200,
failure_url: "testredirect.com",
force_2fa_flow: true,
success_url: "testredirect.com",
monthly_installments_enabled: true,
monthly_installments_options: [3, 6, 9, 12],
type: "HostedPayment",
redirection_time: 4 # Tiempo de Redirección al Success/Failure URL, umbrales de 4 a 120 seg.
},
customer_info: {
customer_id: customer.id
},
currency: 'mxn',
metadata: {test: 'extra info'}
}
order = Conekta::Order.create(valid_order_with_checkout)
puts order.inspect
order = self.client.Order.create(order)
checkout = order.createCheckout({
"currency": "MXN",
"customer_info": {
"customer_id": "cus_2o3FvMEBiKitVK1vQ"
},
"line_items": [{
"name": "Box of Cohiba S1s",
"unit_price": 300000,
"quantity": 1
}],
"shipping_lines": [{
"amount": 0
}],
"checkout": {
"type":"HostedPayment",
"success_url": "testredirect.com",
"failure_url": "testredirect.com",
"allowed_payment_methods": ["cash", "card", "bank_transfer"],
"multifactor_authentication": False,
"monthly_installments_enabled": True,
"monthly_installments_options": [3,6,9,12,18],
"expires_at": 1609891200,
"redirection_time": 4 //Tiempo de Redirección al Success/Failure URL, umbrales de 4 a 120 seg.
},
"shipping_contact": {
"phone": "+5215555555555",
"receiver": "Marvin Fuller",
"address": {
"street1": "Nuevo Leon 4",
"country": "MX",
"postal_code": "06100"
}
}
})
conekta.Order.create({
"currency": "MXN",
"customer_info": {
"customer_id": customer.id
},
"line_items": [{
"name": "Box of Cohiba S1s",
"unit_price": 300000,
"quantity": 1
}],
"shipping_lines": [{
"amount": 0
}],
"checkout": {
"type":"HostedPayment",
"success_url": "testredirect.com",
"failure_url": "testredirect.com",
"allowed_payment_methods": ["cash", "card", "bank_transfer"],
"multifactor_authentication": False,
"monthly_installments_enabled": True,
"monthly_installments_options": [3,6,9,12,18],
"expires_at": 1609891200,
"redirection_time": 4 //Tiempo de Redirección al Success/Failure URL, umbrales de 4 a 120 seg.
},
"shipping_contact": {
"phone": "+5215555555555",
"receiver": "Marvin Fuller",
"address": {
"street1": "Nuevo Leon 4",
"country": "MX",
"postal_code": "06100"
}
}
}, function(err, res) {
if(err){
console.log(err);
return;
}
console.log(res.toObject());
});
using Newtonsoft.Json;
var validOrderWithCheckout = new
{
currency: "MXN",
customer_info = new
{
customer_id = "cus_2o3FvMEBiKitVK1vQ"
},
line_items = new
[
new
{
name = "Box of Cohiba S1s",
unit_price = 300000,
quantity = 1
}
],
shipping_lines = new
[
new
{
"amount" = 0
}
],
checkout = new
{
type = "HostedPayment",
success_url = "testredirect.com",
failure_url = "testredirect.com",
allowed_payment_methods = new string[]
{
"cash",
"card",
"bank_transfer"
},
multifactor_authentication = false,
monthly_installments_enabled = true,
monthly_installments_options = new int[]
{
3,
6,
9,
12
},
expires_at = 1609891200,
redirection_time= 4 //Tiempo de Redirección al Success/Failure URL, umbrales de 4 a 120 seg.
},
shipping_contact = new
{
phone = "+5215555555555",
receiver = "Marvin Fuller",
address = new
{
street1 = "Nuevo Leon 4",
country = "MX",
postal_code = "06100"
}
}
};
var order = new Order()
.create(JsonConvert.SerializeObject(validOrderWithCheckout));
package main
import (
"context"
"fmt"
"io"
"net/http"
"github.com/conekta/conekta-go"
)
func main() {
const acceptLanguage = "es"
cfg := conekta.NewConfiguration()
client := conekta.NewAPIClient(cfg)
ctx := context.WithValue(context.TODO(), conekta.ContextAccessToken, "key_DwaOLXoX6YCGGvfNifZ3IPwi")
rq := conekta.OrderRequest{
Checkout: &conekta.CheckoutRequest{
AllowedPaymentMethods: []string{"cash", "card", "bank_transfer"},
FailureUrl: conekta.PtrString("https://www.mysite.com/payment/failure"),
MonthlyInstallmentsEnabled: conekta.PtrBool(true),
MonthlyInstallmentsOptions: []int32{3, 6, 9, 12},
SuccessUrl: conekta.PtrString("https://www.mysite.com/payment/confirmation"),
Type: conekta.PtrString("HostedPayment"),
},
Currency: "MXN",
CustomerInfo: conekta.OrderRequestCustomerInfo{
CustomerInfoJustCustomerId: conekta.NewCustomerInfoJustCustomerId("cus_2nHprwaWFn7QJ21Lj"),
},
LineItems: []conekta.Product{
{
Name: "Box of Cohiba S1s",
UnitPrice: 35000,
Quantity: 1,
},
},
ShippingContact: &conekta.CustomerShippingContacts{
Phone: conekta.PtrString("+5215555555555"),
Receiver: conekta.PtrString("Marvin Fuller"),
Address: conekta.CustomerShippingContactsAddress{
Street1: conekta.PtrString("Nuevo Leon 4"),
PostalCode: conekta.PtrString("06100"),
Country: conekta.PtrString("MX"),
},
},
ShippingLines: []conekta.ShippingRequest{{Amount: 0}},
}
order, response, err := client.OrdersApi.CreateOrder(ctx).
OrderRequest(rq).
AcceptLanguage(acceptLanguage).
Execute()
if err != nil {
panic(err)
}
if response.StatusCode != http.StatusCreated {
responseBody, err := io.ReadAll(response.Body)
if err != nil {
panic(err)
}
panic(fmt.Sprintf("response body: %s", responseBody))
}
fmt.Printf("order: %v", order)
}
try {
Order order = Order.create(
new JSONObject("{ 'currency': 'mxn'," +
" 'customer_info': {" +
" 'customer_id': 'cus_2o3FvMEBiKitVK1vQ'" +
" }," +
" 'line_items': [{" +
" 'name': 'Box of Cohiba S1s'," +
" 'unit_price': 300000," +
" 'quantity': 1," +
" }]," +
" 'checkout': {" +
" 'allowed_payment_methods': ['cash','card','bank_transfer']," +
" 'expired_at': " + (System.currentTimeMillis() / 1000L) + 259200 + "," +
" 'failure_url': 'testredirect.com'," +
" 'force_3ds_flow': false," +
" 'monthly_installments_enabled': true," +
" 'monthly_installments_options': [3,6,9,12,18]," +
" 'success_url': 'testredirect.com'," +
" 'type': 'HostedPayment'" +
" 'redirection_time': 4," +
" }," +
" 'shipping_contact': {" +
" 'phone': '5555555555'," +
" 'receiver': 'Marvin Fuller'" +
" }" +
"}")
);
} catch (Conekta::Error e) {
System.out.println(e.details.get(0).message);
}
Esto regresa una respuesta como la siguiente:
{
"livemode": false,
"amount": 20000,
"currency": "MXN",
"payment_status": "paid",
"amount_refunded": 0,
"customer_info": {
"email": "[email protected]",
"name": "andrea delgado",
"corporate": false,
"customer_id": "cus_2yYDbYkcDCB5queoa",
"object": "customer_info"
},
"shipping_contact": {
"receiver": "Mario perez",
"phone": "+5215555555555",
"between_streets": "Campeche y Morelos",
"address": {
"street1": "Nuevo Leon 4",
"city": "Ciudad de Mexico",
"state": "Ciudad de Mexico",
"country": "mx",
"residential": true,
"object": "shipping_address",
"postal_code": "78215"
},
"id": "ship_cont_2yYE5xyYQaJ8YRAG8",
"object": "shipping_contact",
"created_at": 1755703558
},
"object": "order",
"id": "ord_2yYE5xyYQaJ8YRAG9",
"metadata": {},
"is_refundable": true,
"created_at": 1755703558,
"updated_at": 1755703558,
"line_items": {
"object": "list",
"has_more": false,
"total": 1,
"data": [
{
"name": "Vasija de Cerámica",
"description": "Description",
"unit_price": 20000,
"quantity": 1,
"sku": "SKU",
"tags": [
"tag1",
"tag2"
],
"brand": "Brand",
"object": "line_item",
"id": "line_item_2yYE5xyYQaJ8YRAG5",
"parent_id": "ord_2yYE5xyYQaJ8YRAG9",
"metadata": {
"Valor3": "South#23"
},
"antifraud_info": {}
}
]
},
"shipping_lines": {
"object": "list",
"has_more": false,
"total": 1,
"data": [
{
"amount": 0,
"carrier": "Fedex",
"method": "Airplane",
"tracking_number": "TRACK000000000123",
"object": "shipping_line",
"id": "ship_lin_2yYE5xyYQaJ8YRAG6",
"parent_id": "ord_2yYE5xyYQaJ8YRAG9"
}
]
},
"charges": {
"object": "list",
"has_more": false,
"total": 1,
"data": [
{
"id": "68a5e90679fcdd001abab388",
"livemode": false,
"created_at": 1755703558,
"currency": "MXN",
"payment_method": {
"auth_code": "976866",
"object": "card_payment",
"type": "credit",
"last4": "0121",
"brand": "visa",
"issuer": "",
"account_type": "",
"country": "MX",
"fraud_indicators": [],
"antifraud_flag": "",
"three_ds_flow_required": false,
"product_type": "apple_pay"
},
"object": "charge",
"description": "Payment from order",
"status": "paid",
"amount": 20000,
"paid_at": 1755703558,
"fee": 2785,
"customer_id": "cus_2yYDbYkcDCB5queoa",
"order_id": "ord_2yYE5xyYQaJ8YRAG9"
}
]
}
}
echo $result ->getCheckout()->getUrl();
puts order.checkout.allowed_payment_methods.inspect
puts order.checkout.monthly_installments_enabled
puts order.checkout.monthly_installments_options.inspect
puts order.checkout.object
puts order.checkout.url
puts order.checkout.type
console.log(stringify(order.checkout.allowed_payment_methods)); // [cash, card, bank_transfer]
console.log(stringify(order.checkout.monthly_installments_enabled)); // true
console.log(stringify(order.checkout.monthly_installments_options)); // [3, 6, 9, 12]
console.log(stringify(order.checkout.url)); // 'https://pay.conektame.io/link/964b5bdfe557467d9e02469e89b48e19
console.log(strinfiy(order.checkout.type)); // 'HostedPayment'
Console.WriteLine("[{0}]", string.Join(", ", order.checkout.allowed_payment_methods)); // [cash, card, bank_transfer]
Console.WriteLine(order.checkout.monthly_installments_enabled); // true
Console.WriteLine("[{0}]", string.Join(", ", order.checkout.monthly_installments_options)); // [3, 6, 9, 12]
Console.WriteLine(order.checkout._object); // 'checkout'
Console.WriteLine(order.checkout.url); // 'https://pay.conektame.io/link/964b5bdfe557467d9e02469e89b48e19
Console.WriteLine(order.checkout.type); // 'HostedPayment'
fmt.Println("AllowedPaymentMethod: %v\n", order.Checkout.AllowedPaymentMethods)
fmt.Println("MonthlyInstallmentsEnabled: %v\n", order.Checkout.MonthlyInstallmentsEnabled)
fmt.Println("MonthlyInstallmentOptions: %v\n", order.Checkout.MonthlyInstallmentsOptions)
fmt.Println("Url: %v\n", order.Checkout.Url)
fmt.Println("Type: %v\n", order.Checkout.Type)
System.out.println(order.checkout.allowed_payment_methods);
System.out.println(order.checkout.monthly_installments_enabled);
System.out.println(order.checkout.monthly_installments_options);
System.out.println(order.checkout.object);
System.out.println(order.checkout.type);
Updated about 5 hours ago