Agregue botones de pago inteligente de paypal a su sitio web
Añadir los botones de pago inteligente con el SDK de JavaScript de paypal a su sitio web.
Nota: Página Oficial Integración básica botones con SDK de JavaScript https://developer.paypal.com/docs/checkout/integrate/
Ejemplo integración SDK de JavaScript de PayPal mayor información https://www.evmconstruction.co.nz/
Si está buscando la antigua integración de Paypal que es checkout.js, consulte la guía de integración de Checkout archivada
.
Configure su entorno de desarrollo.
Antes de poder integrar Checkout, debe configurar su entorno de desarrollo. Después de obtener un token que le permite acceder a los recursos de la API REST protegidos, crea cuentas de sandbox para probar sus aplicaciones web y móviles. Para más detalles, Implementacion de pago con paypal en un sitio web
.
Luego, vuelve a esta página para integrar Checkout.
Agregue el script de PayPal a su página web.
Agregue el script de PayPal a su página web, luego agregue su sandbox client-id a la etiqueta del script:
<!DOCTYPE html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
</head>
<body>
<script
src="https://www.paypal.com/sdk/js?client-id=SB_CLIENT_ID">
</script>
</body>
Renderizar los botones de pago inteligente
A continuación, represente los botones de pago inteligente de PayPal a un elemento contenedor en su página:
<body>
<script
src="https://www.paypal.com/sdk/js?client-id=SB_CLIENT_ID">
</script>
<div id="paypal-button-container"></div>
<script>
paypal.Buttons().render('#paypal-button-container');
</script>
</body>
Configure la transacción
Implemente la createOrder
función, que se llama cuando el comprador hace clic en el botón PayPal. Este paso:
- Llama a PayPal
actions.order.create()
para configurar los detalles de una transacción única, incluido el monto, los detalles de la línea de pedido y más. - Inicia la ventana de Pago de PayPal para que el comprador pueda iniciar sesión y aprobar la transacción en paypal.com.
<script
src="https://www.paypal.com/sdk/js?client-id=SB_CLIENT_ID">
</script>
<div id="paypal-button-container"></div>
<script>
paypal.Buttons({
createOrder: function(data, actions) {
// Esta función configura los detalles de la transacción,
//incluidos el importe y los detalles de la línea de pedido.
return actions.order.create({
purchase_units: [{
amount: {
value: '0.01'
}
}]
});
}
}).render('#paypal-button-container');
</script>
En mi caso como trabajo con PHP para configurar la transacción lo implemente de esta manera:
<script
src="https://www.paypal.com/sdk/js?client-id=SB_CLIENT_ID">
</script>
<div id="paypal-button-container"></div>
<script>
paypal.Buttons({
createOrder: function(data, actions) {
// Esta función configura los detalles de la transacción,
//incluidos el importe y los detalles de la línea de pedido.
var pagototal = '<?php echo $_SESSION['Pago_total_dolares'] ;?>';
return actions.order.create({
purchase_units: [{
amount: {
value: pagototal,
currency: 'USD'
}
}]
});
},
}).render('#paypal-button-container');
</script>
Para ver la lista de parámetros a los que puede pasar actions.order.create()
para configurar la transacción, y ejemplos de respuestas, vea Crear orden
en la referencia API de pedidos.
Nota: También puede llamar desde su servidor
para configurar una transacción.
Capture la transacción
Implemente la onApprovefunción
, que se llama después de que el comprador aprueba la transacción en paypal.com. Esta función:
- Llama a PayPal
actions.order.capture()
para capturar los fondos de la transacción. - Muestra un mensaje al comprador para informarle que la transacción fue exitosa.
<script
src="https://www.paypal.com/sdk/js?client-id=SB_CLIENT_ID">
</script>
<div id="paypal-button-container"></div>
<script>
paypal.Buttons({
createOrder: function(data, actions) {
// Esta función configura los detalles de la transacción,
// incluidos el importe y los detalles de la línea de pedido.
return actions.order.create({
purchase_units: [{
amount: {
value: '0.01'
}
}]
});
},
onApprove: function(data, actions) {
// Esta función captura los fondos de la transacción.
return actions.order.capture().then(function(details) {
// Esta función muestra un mensaje de transacción
//exitosa a su comprador.
alert('Transaction completed by ' + details.payer.name.given_name);
});
}
}).render('#paypal-button-container');
// Esta función muestra los botones de pago
//inteligente en su página web.
</script>
En mi caso como trabajo con PHP para capturar la transacción lo implemente de esta manera:
<script
src="https://www.paypal.com/sdk/js?client-id=SB_CLIENT_ID">
</script>
<div id="paypal-button-container"></div>
<script>
paypal.Buttons({
createOrder: function(data, actions) {
// Esta función configura los detalles de la transacción,
//incluidos el importe y los detalles de la línea de pedido.
var pagototal = '<?php echo $_SESSION['Pago_total_dolares'] ;?>';
return actions.order.create({
purchase_units: [{
amount: {
value: pagototal,
currency: 'USD'
}
}]
});
},
onApprove: function(data, actions) {
// Esta función captura los fondos de la transacción.
return actions.order.capture().then(function(details) {
alert('Transaction completed by ' + details.payer.name.given_name);
// Llame a su servidor para guardar la transacción
return fetch('/paypal-transaction-complete', {
// Esta función muestra un mensaje de transacción
//exitosa a su comprador.
method: 'post',
headers: {
'content-type': 'application/json'
},
body: JSON.stringify({
orderID: data.orderID
})
});
});
}
}).render('#paypal-button-container');
// Esta función muestra los botones de pago
//inteligente en su página web.
</script>
Personalice la secuencia de comandos SDK de JavaScript de PayPal
Fuente: https://developer.paypal.com/docs/checkout/reference/customize-sdk/#query-parameters
Puede personalizar la integración pasando parámetros de consulta y parámetros de secuencia de comandos en la etiqueta de secuencia de comandos SDK. Estos parámetros ayudan a PayPal a decidir las fuentes de financiación y los botones óptimos para mostrar a sus compradores
Parámetros de consulta
Pase estos parámetros a la URL del script SDK como parámetros de consulta. Por ejemplo:
<script src="https://paypal.com/sdk/js?client-id=YOUR_CLIENT_ID"></script>
Si no pasa estos parámetros al SDK, el SDK de JavaScript de PayPal utiliza el valor predeterminado de la lista.
Opción | Valor de ejemplo | Defecto | Descripción |
---|---|---|---|
client-id | sb | n/a |
Required. Su ID de cliente REST de PayPal. Esto identifica su cuenta de PayPal y determina dónde se pagan las transacciones. Mientras realiza las pruebas en sandbox, puede usarlas |
disable-funding | card , credit , bancontact |
none | Fuentes de financiación para no mostrar en los botones de pago inteligente. Ejemplo desabilita <script src="https://www.paypal.com/sdk/js?client-id=xx&disable-funding=credit,card"> </script> |
Mas Información:
https://developer.paypal.com/docs/checkout/#
Agrega Botones
https://developer.paypal.com/docs/checkout/integrate/#1-set-up-your-development-environment
Personaliza el Script JavaScript SDK de PayPal (personaliza botones)
https://developer.paypal.com/docs/checkout/reference/customize-sdk/#