• Francia
página de estado
demo
asistencia
FAQContacte el soporte tecnico
Buscar
Categoria
Tags
docs.
Francia
España
Europa (Inglés)
India
Página principal
Casos de uso
Crear un pago
Crear un pago en vencimientos
Crear un pago multitarjeta
Crear un pago por token
Crear un enlace de pago
Crear una suscripción
Gestione sus suscripciones
Gestione sus transacciones
Analizar los diarios
Docs API
Formulario incrustado
API REST
Formulario en redirección
Pago móvil
Intercambio de ficheros
Ejemplo de código
Medios de pago
Plugins
Guías
Back office Experto
Guías funcionales

Crear una solicitud de pago de factura

Para esta operación, se requiere el uso del formulario de recaudación de datos. Antes de crear una solicitud de factura en el modo PRODUCTION, compruebe si ha completado la configuración del formulario y solicitado que se ponga en línea.

Casos de uso

Le marchand crée un ordre de paiement de facture, avec une réfèrence unique.
Pour payer, l'acheteur doit saisir cette référence unique de la facture dans le formulaire de collecte de données.

Testear

Testee el Web Service Charge/CreatePaymentOrder desde nuestro playground: Charge/CreatePaymentOrder.

Solicitud

Pago al contado

Ejemplo de solicitud

Campos obligatorios:

  • Monto: 100,00€.
  • Canal de difusión: INVOICE.
  • Référence unique de la facture : "myOrderId-1234".
/es-ES/rest/V4.0/api/kb/authentication.html
https://github.com/lyra/rest-php-examples/blob/master/www/minimalEmbeddedForm.php#L9-L44
https://api.lyra.com/api-payment/V4/Charge/CreatePaymentOrder
{
    "amount": 10000,
    "currency": "EUR",
    "orderId": "myOrderId-1234",
    "channelOptions": {
      "channelType": "INVOICE"
    }
}
{
    "amount": 200050,
    "currency": "PEN",
    "orderId": "myOrderId-999999",    
    "channelOptions": {
      "channelType": "INVOICE"      
    },
    "paymentReceiptEmail": "sample@example.com",
    "expirationDate": "2020-04-20T20:13:26+02:00",
    "locale": "es_PE",
    "description" : "My custom description"
}
{
    "amount": 200050,
    "currency": "ARS",
    "orderId": "myOrderId-999999",    
    "channelOptions": {
      "channelType": "INVOICE"      
    },
    "paymentReceiptEmail": "sample@example.com",
    "expirationDate": "2020-04-20T20:13:26+02:00",
    "locale": "es_AR",
    "description" : "My custom description"
}
{
    "amount": 200050,
    "currency": "COP",
    "orderId": "myOrderId-999999",   
    "channelOptions": {
      "channelType": "INVOICE"      
    },
    "paymentReceiptEmail": "sample@example.com",
    "expirationDate": "2020-04-20T20:13:26+02:00",
    "locale": "es_CO",
    "description" : "My custom description"
}
/**
 * I initialize the PHP SDK
 */
require_once __DIR__ . '/vendor/autoload.php';
require_once __DIR__ . '/keys.php';
require_once __DIR__ . '/helpers.php';

/** 
 * Initialize the SDK 
 * see keys.php
 */
$client = new Lyra\Client();

/**
 * I create a formToken
 */
$store = array("amount" => 250, 
"currency" => "EUR", 
"orderId" => uniqid("MyOrderId"),
"customer" => array(
  "email" => "sample@example.com"
));
$response = $client->post("V4/Charge/CreatePayment", $store);

/* I check if there are some errors */
if ($response['status'] != 'SUCCESS') {
    /* an error occurs, I throw an exception */
    display_error($response);
    $error = $response['answer'];
    throw new Exception("error " . $error['errorCode'] . ": " . $error['errorMessage'] );
}

/* everything is fine, I extract the formToken */
$formToken = $response["answer"]["formToken"];

?>
/**
 * I initialize the PHP SDK
 */
require_once __DIR__ . '/vendor/autoload.php';
require_once __DIR__ . '/keys.php';
require_once __DIR__ . '/helpers.php';

/** 
 * Initialize the SDK 
 * see keys.php
 */
$client = new Lyra\Client();

/**
 * I create a formToken
 */
$store = array("amount" => 250, 
"currency" => "EUR", 
"orderId" => uniqid("MyOrderId"),
"customer" => array(
  "email" => "sample@example.com"
));
$response = $client->post("V4/Charge/CreatePayment", $store);

/* I check if there are some errors */
if ($response['status'] != 'SUCCESS') {
    /* an error occurs, I throw an exception */
    display_error($response);
    $error = $response['answer'];
    throw new Exception("error " . $error['errorCode'] . ": " . $error['errorMessage'] );
}

/* everything is fine, I extract the formToken */
$formToken = $response["answer"]["formToken"];

?>

L'acheteur saisit la référence unique : myOrderId-1234 dans le formulaire de collecte de données pour payer le montant de 100,00 €.

Consulte todos los campos y su descripción en nuestro playground: Charge/CreatePaymentOrder (menú a la izquierda).

Respuesta

Ejemplo de respuesta
{
    "webService": "Charge/CreatePaymentOrder",    
    "version": "V4",
    "applicationVersion": "5.5.0",
    "status": "SUCCESS",
    "answer": {
        "paymentOrderId": "f95a9c6c2d5a4e3ca279401c4d07c115",
        "paymentURL": null,
        "paymentOrderStatus": "RUNNING",
        "creationDate": "2020-03-31T15:06:49+00:00",
        "updateDate": null,
        "amount": 10000,
        "currency": "EUR",
        "locale": "en_GB",
        "strongAuthentication": "AUTO",
        "orderId": "myOrderId-1234",
        "channelDetails": {
            "channelType": "INVOICE",
            "mailDetails": null,
            "smsDetails":  null,
            "whatsAppDetails": null,
            "ivrDetails": null,
            "_type": "V4/ChannelDetails"
        },
        "paymentReceiptEmail": "sample@example.com",
        "taxRate": null,
        "taxAmount": null,
        "expirationDate": "2020-04-20T18:13:26+00:00",
        "transactionDetails": {
            "cardDetails": {
                "manualValidation": "NO",
                "captureDelay": 0,
                "_type": "V4/CardDetails"
            },
            "_type": "V4/PaymentOrderTransactionDetails"
        },
        "dataCollectionForm": false,
        "merchantComment": null,
        "message": null,
        "description": "My custom description"
        "_type": "V4/PaymentOrder"
    },
    "ticket": null,
    "serverDate": "2020-03-31T15:06:49+00:00",
    "applicationProvider": "LYRA",
    "metadata": null,
    "_type": "V4/WebService/Response"
}


}

Retrouvez la description et l'intégralité des champs dans notre playground : PaymentOrder

Manejo de errores

Tabla de errores
Código Descripción
INT_009 El formato del campo amount no es válido o el campo no se ha transmitido.
INT_010 El formato del campo currency no es válido o el campo no se ha transmitido.
INT_050 El parámetro strongAuthentication es inválido.
INT_856 El parámetro locale es inválido.
INT_858 El parámetro taxRate es inválido.
INT_869 El parámetro taxAmount es inválido.
PSP_519 Moneda desconocida.
PSP_606 Moneda no admitida por la afiliación.
PSP_1007 La fecha de vencimiento de la solicitud de pago no puede ser anterior a la fecha actual ni exceder los 90 días.
PSP_1015 No hay ningún formulario de recolección de datos para esta tienda.
PSP_1018 No se puede utilizar el formulario de recolección de datos para la moneda solicitada.

Analizar el resultado del pago

Para conocer el resultado del pago, implemente la URL de notificación al final el pago (IPN).

  1. Ingrese solamente la URL de notificación en la sección API REST (TEST o PRODUCTION): Procedimiento.
  2. Analice la IPN: Procedimiento.
Jobs
Legal
GDPR
25.18-1.11