Los artículos de la categoría Manual del desarrollador abordan temas que requieren conocimiento técnico. Ten cuidado y utiliza las técnicas descritas a continuación bajo tu propia responsabilidad. Si no tienes experiencia en desarrollo, y necesitas ayuda, te recomendamos solicitar el apoyo de un profesional.
This page is also available in English.
Los parámetros de pago de Stripe, como la moneda o el monto a pagar, se determinan mediante la etiqueta de formulario [stripe] colocada en la plantilla de formulario. Es posible que desees personalizar los parámetros cambiándolos dinámicamente con base en la selección del usuario o de algún tipo de cálculo.
Puedes hacerlo utilizando el gancho de filtro wpcf7_stripe_payment_intent_parameters
como se muestra en el siguiente fragmento de código de ejemplo:
add_filter(
'wpcf7_stripe_payment_intent_parameters',
function ( $params ) {
// Obtenemos el objeto WPCF7_Submission
$submission = WPCF7_Submission::get_instance();
// Obtenemos la moneda del valor del campo 'tu-moneda'
$currency = (array) $submission->get_posted_data( 'tu-moneda' );
$currency = (string) array_shift( $currency );
$params['currency'] = strtolower( $currency );
// Calculamos el monto
$amount = 1000 * SOME_CONSTANT;
$params['amount'] = $amount;
// Obtenemos el correo electrónico del cliente desde el valor del campo 'email-123'
$receipt_email = $submission->get_posted_data( 'email-123' );
if ( is_email( $receipt_email ) ) {
$params['receipt_email'] = $receipt_email;
}
// Consulta https://stripe.com/docs/api/payment_intents/create
// para ver la lista completa de parámetros disponibles
return $params;
},
10, 1
);