• 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

Editar una solicitud de pago

Casos de uso

El vendedor desea modificar el contenido de una solicitud de pago (monto, mensaje, etc.).

El Web Service Charge/PaymentOrder/Update permite modificar solamente las solicitudes de pago creadas con el Web Service Charge/CreatePaymentOrder.

Solo las solicitudes de pago en curso (estado RUNNING ) se pueden modificar No se puede modificar el canal de difusión.

Testear

Testee el Web Service Charge/PaymentOrder/Cancel desde nuestro playground:.

Solicitud

Campos obligatorios

Montant avec la devise.
Référence de l'ordre de paiement :paymentOrderId.
. Canal de distribución (excepto el enlace URL):

  • Por e-mail:
channelOptions.mailOptions Objeto JSON que define los parámetros de la solicitud de pago.
channelOptions.mailOptions.recipient E-mail del comprador.
  • Por SMS:
channelOptions.smsOptions Objeto JSON que define los parámetros de la solicitud de pago.
channelOptions.smsOptions.phoneNumber Número de teléfono móvil del comprador.
  • Por WhatsApp:
channelOptions.whatsAppOptions Objeto JSON que define los parámetros de la solicitud de pago.
channelOptions.whatsAppOptions.phoneNumber Número de teléfono del comprador.
Ejemplo de solicitud

Edite los siguientes datos:

  • Monto: 200,00 €.
  • Référence de la commande : "myOrderId-999999".
  • Canal de difusión: MAIL.
/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/PaymentOrder/Update
{
    "paymentOrderId": "d63e7f507a6f4dfa86cb40a833ecfd85",
    "amount": 20000,
    "currency": "EUR",
    "orderId": "myOrderId-999999",
    "channelOptions": {
      "channelType": "MAIL",
      "mailOptions": {
        "recipient": "customer@example.com"
      }
    }
}
{
    "paymentOrderId": "d63e7f507a6f4dfa86cb40a833ecfd85",
    "amount": 200050,
    "currency": "PEN",
    "orderId": "myOrderId-999999",    
    "channelOptions": {
      "channelType": "MAIL",
      "mailOptions": {
        "recipient": "sample@example.com"
      }
    },
    "paymentReceiptEmail": "sample@example.com",
    "expirationDate": "2020-05-20T20:13:26+02:00",
    "locale": "es_PE",
    "dataCollectionForm": "true"
}
{
    "paymentOrderId": "d63e7f507a6f4dfa86cb40a833ecfd85",
    "amount": 200050,
    "currency": "ARS",
    "orderId": "myOrderId-999999",    
    "channelOptions": {
      "channelType": "MAIL",
      "mailOptions": {
        "recipient": "sample@example.com"
      }
    },
    "paymentReceiptEmail": "sample@example.com",
    "expirationDate": "2020-05-20T20:13:26+02:00",
    "locale": "es_AR",
    "dataCollectionForm": "true"
}
{
    "paymentOrderId": "d63e7f507a6f4dfa86cb40a833ecfd85",
    "amount": 200050,
    "currency": "COP",
    "orderId": "myOrderId-999999",   
    "channelOptions": {
      "channelType": "MAIL",
      "mailOptions": {
        "recipient": "sample@example.com"
      }
    },
    "paymentReceiptEmail": "sample@example.com",
    "expirationDate": "2020-05-20T20:13:26+02:00",
    "locale": "es_CO",
    "dataCollectionForm": "true"
}
/**
 * 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"];

?>

Respuesta

Ejemplo de respuesta
{
    "webService": "Charge/PaymentOrder/Update",    
    "version": "V4",
    "applicationVersion": "5.5.0",
    "status": "SUCCESS",
    "answer": {
        "paymentOrderId": "d63e7f507a6f4dfa86cb40a833ecfd85",
        "paymentURL": "https://secure.lyra.com/t/328zq5so",
        "paymentOrderStatus": "RUNNING",
        "creationDate": "2020-03-31T15:06:49+00:00",
        "updateDate": "2020-04-29T12:55:50+00:00",
        "amount": 20000,
        "currency": "EUR",
        "locale": "en_GB",
        "strongAuthentication": "AUTO",
        "orderId": "myOrderId-999999",
        "channelDetails": {
            "channelType": "MAIL",
            "mailDetails": {
                "subject": "Your payment order",
                "body": "<b>Message sent by DEMO STORE</b> <p>Dear customer,</p> <p>This e-mail is a payment order of EUR 2,000.50 valid until 01/04/2020. To confirm, please click on the link below : </p> <p>https://secure.lyra.com/t/w5izg024</p> <p>In case of problems, or if this message is not correctly displayed, please contact support@demostore.com.</p>",
                "template": null,
                "recipient": "sample@example.com",
                "bcc": null,
                "_type": "V4/MailDetails"
            },
            "smsDetails": null,
            "whatsAppDetails": null,
            "_type": "V4/ChannelDetails"
        },
        "paymentReceiptEmail": "sample@example.com",
        "taxRate": null,
        "taxAmount": null,
        "expirationDate": "2020-05-20T18:13:26+00:00",
        "transactionDetails": {
            "cardDetails": {
                "manualValidation": "NO",
                "captureDelay": 0,
                "_type": "V4/CardDetails"
            },
            "_type": "V4/PaymentOrderTransactionDetails"
        },
        "dataCollectionForm": true,
        "merchantComment": null,
        "message": "<b>Message sent by DEMO STORE</b> <p>Dear customer,</p> <p>This e-mail is a payment order of EUR 2,000.50 valid until 01/04/2020. To confirm, please click on the link below : </p> <p>https://secure.lyra.com/t/w5izg024</p> <p>In case of problems, or if this message is not correctly displayed, please contact support@demostore.com.</p>",
        "_type": "V4/PaymentOrder"
    },
    "ticket": null,
    "serverDate": "2020-04-29T12:55:50+00:00",
    "applicationProvider": "LYRA",
    "metadata": null,
    "_type": "V4/WebService/Response"
}


}

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_836 el objeto smsOptions está ausente.
INT_837 El parámetro channelOptions.whatsAppOptions.phoneNumber está ausente.
INT_838 El parámetro channelOptions.smsOptions.phoneNumber está ausente.
INT_839 el objeto whatsAppOptions está ausente.
INT_841 el objeto mailOptions está ausente.
INT_850 El parámetro channelOptions.mailOptions.recipient está ausente.
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.
INT_902 El formato del campo paymentOrderId no es válido o el campo no se ha transmitido.
PSP_519 Moneda desconocida.
PSP_606 El contrato admite esta divisa.
PSP_1000 La solicitud de pago no existe.
PSP_1001 No se puede establecer conexión con la puerta de enlace WhatsApp.
PSP_1002 El número de teléfono del destinatario no está asociado a una cuenta de WhatsApp.
PSP_1003 Falta la configuración de WhatsApp.
PSP_1004 Plantilla de WhatsApp disponible para la configuración regional solicitada.
PSP_1005 No se puede modificar una solicitud de pago pagada.
PSP_1006 No se puede modificar una solicitud de pago expirada.
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_1011 El modo (TEST o PRODUCTION) de la solicitud de pago no corresponde al de la solicitud.
PSP_1015 No hay ningún formulario de recolección de datos para esta tienda.
PSP_1017 No se puede modificar el canal de difusión.
PSP_1018 No se puede utilizar el formulario de recolección de datos para la moneda solicitada.
PSP_1022 La plantilla especificada en la solicitud no existe para la configuración regional solicitada.
Jobs
Legal
GDPR
25.22-1.11