Desarrollo de sitio web

Nosotros Makklays. Ayudamos a realizar la idea.

Conecte paypal al sitio


Makklays - Artículos image

eye 48

Recientemente, más y más sitios se están desarrollando en esta dirección, necesita vender algo y ganar dinero con él para existir. Veamos cómo se puede implementar esto. Digamos que ya tenemos una página con productos (lista de productos, descripción y precios).

Alguien puede preguntar, ¿qué es Paypal?



Paypal es una plataforma internacional para aceptar pagos de todo el mundo (más de 2 millones de cuentas) en diferentes monedas del mundo. Al igual que cualquier plataforma internacional, PayPal tiene su propia API para desarrolladores que desean usar PayPal en su sitio web (aceptar, enviar pagos, vender productos, organizar suscripciones y todo lo demás, transferencias de dinero que proporciona la API de PayPal). La API de PayPal tiene su propia documentación con diferentes versiones de la API en inglés y reclamaré traducir esta documentación, que se actualiza de vez en cuando (y por lo tanto desactualizada). La desventaja de Paypal en Ucrania es que solo puede usarse para comprar bienes en Internet, pero no puede retirar dinero de la venta de bienes, en otras palabras, no puede transferir dinero ganado de la venta de bienes, por ejemplo, a su tarjeta de crédito. En otros países, esto es más fácil, tal oportunidad existe en casi todos los países del mundo (Alemania, Italia, España, Grecia, Estados Unidos, Francia, Rusia, etc.). Consulte la documentación de paypal y la API de paypal para obtener una lista completa de países. Hay muchas plataformas de pago similares a PayPal en Internet, solo difieren en el porcentaje que cobran por proporcionar servicios de pago en Internet (algunos de ellos pueden ser socios de PayPal).



¿Cómo paga en línea?



El pago en Internet ocurre, en general, de acuerdo con el mismo conjunto de acciones. Y el conjunto de estas acciones es el siguiente. El usuario selecciona un producto en el sitio, hace clic en el botón 'Comprar' en la página del producto, el producto se agrega al 'Carrito'. En la página del sitio web 'Carrito', el usuario hace clic en el botón 'Pasar por caja' y aquí comienzan las cosas más interesantes en los pagos en línea en Internet (no importa paypal o ligpay u otra cosa). Después de hacer clic en el botón 'Pagar', el usuario, generalmente en las tiendas en línea, va a la página para elegir una plataforma con la que pagará los productos. Después de elegir paypal de la lista de plataformas ofrecidas para el pago de pagos, el usuario va a la página de esta plataforma (el sitio web de paypal si el usuario ha elegido su plataforma), donde completa los campos obligatorios para el pago y envía el formulario haciendo clic en el botón 'Pagar'. Después de enviar el formulario en el sitio web de la plataforma de pago (pago en sí), se redirige a la página del sitio web con información sobre el pago exitoso de los productos y posiblemente información adicional sobre el producto / producto desde el sitio web (tiempo de entrega de los productos, enlace para ir al servicio / producto adquirido, el período en que este producto / producto está disponible para el usuario, etc.) Así es como se ve el proceso de compra o el proceso de pago de bienes en Internet. Luego, el usuario espera la entrega de los productos (gafas de realidad virtual, tableta, teléfono) o obtiene acceso y utiliza el producto comprado (asesoramiento de un psicólogo, horóscopo personal). ¡Felicidades! ¡Has realizado una compra en línea!



Finalizar compra: agregue un botón de PayPal



Regístrese en developer.paypal.com y mire Pagar con la adición de un botón de PayPal a la página del producto.
¿Cómo funciona el botón? Descrito en pasos:
- Agregue un botón de PayPal para el pago a la página web del producto.
- El comprador presiona el botón.
- El botón llama a la API de PayPal de pedidos para configurar la transacción (para programadores avanzados, puede configurar un procesamiento más detallado en el servidor de su sitio web, pero más sobre eso más adelante).
- El botón inicia PayPal Checkout.
- El comprador confirma el pago.
- El botón llama a la API de pedidos de PayPal para completar la transacción (también para programadores avanzados).
- Muestra un comprobante de compra al comprador (mensaje o página sobre la compra exitosa).

¿Qué necesitas para agregar un botón?
Necesitamos agregar el siguiente código:


 < head >
< ! -- Garantiza una representación óptima en dispositivos móviles. -- >
< meta name = "viewport" content = "ancho = ancho del dispositivo, escala inicial = 1" />
< ! -- Compatibilidad óptima con Internet Explorer -- >
< meta http-equiv = "X-UA-Compatible" content = "IE = edge" />
< / head >

< script src = "https://www.paypal.com/sdk/js?client-id=SB_CLIENT_ID"> / / Requerido. reemplace SB_CLIENT_ID con su ID de cliente de sandbox (sandbox) o ID de cliente en vivo (para el servidor de producción).

< div id = "paypal-button-container"> < / div >
< script >
/ / agregue su ID de cliente y secreto
var PAYPAL_CLIENT = 'PAYPAL_LIVE_CLIENT'; // especifica tus valores PAYPAL_LIVE_CLIENT para producción.
var PAYPAL_SECRET = 'PAYPAL_LIVE_SECRET'; // establece tus valores PAYPAL_LIVE_SECRET para producción.

/ / Apunte su servidor a la API de PayPal
var PAYPAL_ORDER_API = 'https://api.paypal.com/v2/checkout/orders/';

paypal.Buttons ({
createOrder: function (datos, acciones) {
/ / Esta función configura los detalles de la transacción, incluido el importe y los detalles de los artículos.
return actions.order.create({
purchase_units: [{
description: "Some description",
amount: {
currency_code: "USD",
value: '300.00'
},
items: [{
name: "Product 1",
description: "Description of product",
sku: "gol-1253",
unit_amount: {
currency_code: "USD",
value: "100.00"
},
quantity: "1"
}, {
name: "Product 2",
description: "Description for Product 2 ba-bla-bla",
sku: "loh-5321",
unit_amount: {
currency_code: "USD",
value: "40.00"
},
quantity: "5"
}
],
}]
});
},
onApprove: function(data, actions) {
/ / This function captures the funds from the transaction.
return actions.order.capture().then(function(details) {
/ / This function shows a transaction success message to your buyer.
alert('Transaction completed by ' + details.payer.name.given_name);
});
}
}).render('#paypal-button-container');
< / script>


El código JavaScript comentado es un ejemplo de cómo puede organizar la adición de múltiples productos.

Si usa y prueba solo en una caja de arena, debe eliminar las líneas:
 // agregue su ID de cliente y secreto
var PAYPAL_CLIENT = 'PAYPAL_LIVE_CLIENT'; // especifique sus valores PAYPAL_LIVE_CLIENT para producción.
var PAYPAL_SECRET = 'PAYPAL_LIVE_SECRET'; // especifique sus valores PAYPAL_LIVE_SECRET para producción.
// Apunte su servidor a la API de PayPal
var PAYPAL_ORDER_API = 'https://api.paypal.com/v2/checkout/orders/';

Eso es todo lo que necesita para agregar un botón de pago de PayPal (formulario) en el sitio.
¡Felicitaciones! Ha terminado de agregar el pago de PayPal a su sitio.

Para el diseño y el interés general, puede consultar el diseño interactivo de botones en la página proporcionada por PayPal:
https://www.paypal.com/buttons/smart

Hemos estudiado la conexión de pago con el botón de PayPal. Si esto no es suficiente para usted y desea comprender, por ejemplo, cómo funciona la facturación de PayPal , entonces sigamos adelante.

Facturación de PayPal - Facturación de PayPal


Por lo tanto, como comerciante, puede usar la API de facturación de PayPal para crear una factura y enviarla por correo electrónico al comprador.

Regresemos a nuestra página de listado de productos e intentemos averiguar la documentación de la API de PayPal y PayPal. Para hacer esto, regístrese en el sitio web de PayPal cuando se registre, seleccione la cuenta 'corporativa'; a veces también se llama 'comercial' (ya que proporcionaremos bienes y servicios para la venta), y no 'personal' (que se elige solo para compras en Internet en sitios internacionales) ... Verificamos los datos ingresados, que luego de nosotros serán verificados por PayPal en unos meses o semanas, y si los datos especificados no son correctos, la cuenta puede ser bloqueada, también debe recordar esto al registrarse.

Después del registro, tenemos la oportunidad de leer la documentación de la API de PayPal, y lo más importante, usted adquiere su identificación personal (token) que Paypal le proporciona para saber que usted es usted. El token de identificación que se le proporciona es único. En resumen, la documentación de la API de Paypal describe un conjunto de campos que se transfieren desde su sitio al sitio de paypal y viceversa (desde el sitio de paypal a su sitio) durante el proceso de pago, así como varias reglas y la capacidad de usar 3D seguro para asegurar los pagos en Internet. ¡Sí, nos olvidamos de los hackers! Eso no desaparece en ningún lado. Cada año, muchos sitios sufren las acciones de los piratas informáticos que roban dinero en Internet. Si usted es un programador, tenga esto en cuenta cuando desarrolle cualquiera de sus códigos, no olvide proteger su código de acciones maliciosas y pruebe el código para la seguridad de su uso en Internet.

Después de registrarse en el sitio web de PayPal como desarrollador, vaya a la cuenta de desarrollador en developer.paypal.com y de los 6 servicios que se nos presentan, hasta ahora solo nos interesará una . Es Facturación lo que necesitamos, como vendedor, para hacer una factura y emitirla al comprador para su pago. Y API de facturación paypal nos ayudará con esto.
¿Cómo funciona? En los siguientes pasos:
1. El vendedor hace una factura
2. Envía un enlace a la factura en un correo electrónico al comprador
3. El comprador hace clic en la factura en el correo electrónico.
4. El comprador paga de forma segura con tarjeta de crédito, tarjeta de débito, PayPal o crédito de PayPal.

Considere una interacción simple con la versión 2 (PayPal v2) (la versión entró en vigor en abril de 2019) para hacer y enviar una factura por correo electrónico, considere los pasos mínimos necesarios para esto:

1. Antes de comenzar a hacer facturas, necesitamos establecer un entorno de trabajo, configurar un entorno limitado para probar nuestro trabajo con la API REST de PayPal y, por supuesto, obtener un token, nuestro identificador único en la API REST de PayPal. Para hacer esto, nos registramos en el sitio web de PayPal con una cuenta 'corporativa' e hicimos una aplicación de prueba y cuentas de prueba en el sandbox. Ahora que tenemos una ficha, sigamos adelante.

2. Hacemos una factura. Es decir, enviamos una solicitud JSON a la url de la caja de arena con nuestros datos que describen el pedido de los productos y la dirección de correo electrónico (destinatario del pago) verificada durante el registro. Enviamos la solicitud desde el token a la URL https://api.sandbox.paypal.com/v2/invoicing/ (sandbox)
Un ejemplo de una solicitud JSON enviada:

 {
"detalle": {
"invoice_number": "# 12345",
"reference": "deal-ref",
"currency_code": "USD",
"note": "Gracias por su negocio",
"term": "No hay reembolsos después de 30 días",
"memo": "Este es un contrato largo",
"plazo de pago": {
"term_type": "NET_10"
}
},
"invoicer": {
"nombre": {
"given_name": "David",
"apellido": "Larusso"
},
"habla a": {
"address_line_1": "1234 First Street",
"admin_area_2": "Anytown",
"admin_area_1": "CA",
"postal_code": "98765",
"country_code": "EE. UU."
},
"Los telefonos": [{
"country_code": "001",
"national_number": "4085551234",
"phone_type": "MÓVIL"
}],
"sitio web": "www.test.com",
"tax_id": "ABcNkWSfb5ICTt73nD3QON1fnnpgNKBy- Jb5SeuGj185MNNw6g",
"logo_url": "https://example.com/logo.png",
"adicional_notas": "2-4"
},
"primary_recipients": [{
"Información de facturación": {
"nombre": {
"given_name": "Stephanie",
"apellido": "Meyers"
},
"habla a": {
"address_line_1": "1234 Main Street",
"admin_area_2": "Anytown",
"admin_area_1": "CA",
"postal_code": "98765",
"country_code": "EE. UU."
},
"email_address": "bill-me@example.com",
"Los telefonos": [{
"country_code": "001",
"national_number": "4884551234",
"phone_type": "INICIO"
}],
"Additional_info_value": "add-info"
},
"Datos de envío": {
"nombre": {
"given_name": "Stephanie",
"apellido": "Meyers"
},
"habla a": {
"address_line_1": "1234 Main Street",
"admin_area_2": "Anytown",
"admin_area_1": "CA",
"postal_code": "98765",
"country_code": "EE. UU."
}
}
}],
"artículos": [{
"nombre": "Yoga Mat",
"description": "Colchoneta elástica para practicar yoga",
"Cantidad: 1",
"unit_amount": {
"currency_code": "USD",
"valor": "50.00"
},
"impuesto": {
"nombre": "Impuesto a las ventas",
"porcentaje": "7.25"
},
"descuento": {
"porcentaje": "5"
},
"unit_of_measure": "CANTIDAD"
}, {
"nombre": "camiseta de yoga",
"Cantidad: 1",
"unit_amount": {
"currency_code": "USD",
"valor": "10.00"
},
"impuesto": {
"nombre": "Impuesto a las ventas",
"porcentaje": "7.25"
},
"descuento": {
"cantidad": {
"currency_code": "USD",
"valor": "5.00"
}
},
"unit_of_measure": "CANTIDAD"
}],
"configuración": {
"pago parcial": {
"allow_partial_payment": verdadero,
"minimum_amount_due": {
"currency_code": "USD",
"valor": "20.00"
}
},
"allow_tip": verdadero,
"tax_calculated_after_discount": verdadero,
"tax_inclusive": falso
},
"cantidad": {
"Descompostura": {
"personalizado": {
"label": "Gastos de embalaje",
"cantidad": {
"currency_code": "USD",
"valor": "10.00"
}
},
"Envío": {
"cantidad": {
"currency_code": "USD",
"valor": "10.00"
},
"impuesto": {
"nombre": "Impuesto a las ventas",
"porcentaje": "7.25"
}
},
"descuento": {
"invoice_discount": {
"porcentaje": "5"
}
}
}
}
}

Una solicitud exitosa devolverá el estado Creado HTTP 201 y JSON con detalles de la factura.
Ejemplo de respuesta JSON:
 {
"id": "INV2-PXSC-LFZ3-FDAX-HR3E",
"status": "BORRADOR",
"detalle": {
"reference": "deal-ref",
"currency_code": "USD",
"note": "Gracias por su negocio",
"memo": "Este es un contrato largo",
"Additional_data": "2-4",
"category_code": "ENVÍO",
"invoice_number": "# 12345",
"invoice_date": "2020-01-28",
"plazo de pago": {
"term_type": "NET_10",
"due_date": "2020-02-07"
},
"seen_by_recipient": falso,
"metadatos": {
"create_time": "2020-01-28T20: 54: 48Z",
"last_update_time": "2020-01-28T20: 54: 48Z",
"created_by_flow": "REGULAR_SINGLE",
"recipient_view_url": "https://www.sandbox.paypal.com/invoice/p/#PXSCLFZ3FDAXHR3E",
"invoicer_view_url": "https://www.sandbox.paypal.com/invoice/details/INV2-PXSC-LFZ3-FDAX-HR3E"
},
"archivado": falso
},
"invoicer": {
"nombre": {
"given_name": "David",
"apellido": "Larusso",
"full_name": "David Larusso"
},
"habla a": {
"address_line_1": "1234 First Street",
"admin_area_2": "Anytown",
"admin_area_1": "CA",
"postal_code": "98765",
"country_code": "EE. UU."
},
"Los telefonos": [{
"country_code": "001",
"national_number": "4085551234",
"phone_type": "MÓVIL"
}],
"sitio web": "www.test.com",
"tax_id": "ABcNkWSfb5ICTt73nD3QON1fnnpgNKBy- Jb5SeuGj185MNNw6g",
"adicional_notas": "2-4",
"logo_url": "https://example.com/logo.png"
},
"primary_recipients": [{
"Información de facturación": {
"nombre": {
"given_name": "Stephanie",
"apellido": "Meyers",
"full_name": "Stephanie Meyers"
},
"habla a": {
"address_line_1": "1234 Main Street",
"admin_area_2": "Anytown",
"admin_area_1": "CA",
"postal_code": "98765",
"country_code": "EE. UU."
},
"email_address": "bill-me@example.com"
},
"Datos de envío": {
"nombre": {
"given_name": "Stephanie",
"apellido": "Meyers",
"full_name": "Stephanie Meyers"
},
"habla a": {
"address_line_1": "1234 Main Street",
"admin_area_2": "Anytown",
"admin_area_1": "CA",
"postal_code": "98765",
"country_code": "EE. UU."
}
}
}],
"artículos": [{
"id": "ARTÍCULO-97V00660JE381301E",
"nombre": "Yoga Mat",
"description": "Colchoneta elástica para practicar yoga",
"Cantidad: 1",
"unit_amount": {
"currency_code": "USD",
"valor": "50.00"
},
"impuesto": {
"id": "TAX-7FC79953CG799523R",
"nombre": "Impuesto a las ventas",
"percent": "7.25",
"cantidad": {
"currency_code": "USD",
"valor": "3.27"
}
},
"descuento": {
"percent": "5",
"cantidad": {
"currency_code": "USD",
"valor": "-2.50"
}
},
"unit_of_measure": "CANTIDAD"
}, {
"id": "ARTÍCULO-9NY92987V15309140",
"nombre": "camiseta de yoga",
"Cantidad: 1",
"unit_amount": {
"currency_code": "USD",
"valor": "10.00"
},
"impuesto": {
"id": "TAX-7FC79953CG799523R",
"nombre": "Impuesto a las ventas",
"percent": "7.25",
"cantidad": {
"currency_code": "USD",
"valor": "0.34"
}
},
"descuento": {
"cantidad": {
"currency_code": "USD",
"valor": "-5.00"
}
},
"unit_of_measure": "CANTIDAD"
}],
"configuración": {
"tax_calculated_after_discount": verdadero,
"tax_inclusive": falso,
"allow_tip": verdadero,
"pago parcial": {
"allow_partial_payment": verdadero,
"minimum_amount_due": {
"currency_code": "USD",
"valor": "20.00"
}
},
"template_id": "TEMP-2DD658352B363453P"
},
"cantidad": {
"Descompostura": {
"total": {
"currency_code": "USD",
"valor": "60.00"
},
"descuento": {
"invoice_discount": {
"percent": "5",
"cantidad": {
"currency_code": "USD",
"valor": "-2.63"
}
},
"descuento": {
"invoice_discount": {
"percent": "5",
"cantidad": {
"currency_code": "USD",
"valor": "-2.63"
}
},
"item_discount": {
"currency_code": "USD",
"valor": "-7.50"
}
},
"tax_total": {
"currency_code": "USD",
"valor": "4.34"
},
"Envío": {
"cantidad": {
"currency_code": "USD",
"valor": "10.00"
},
"impuesto": {
"id": "TAX-128425447T036552L",
"nombre": "Impuesto a las ventas",
"percent": "7.25",
"cantidad": {
"currency_code": "USD",
"valor": "0.73"
}
}
},
"personalizado": {
"label": "Gastos de embalaje",
"cantidad": {
"currency_code": "USD",
"valor": "10.00"
}
}
},
"currency_code": "USD",
"valor": "74.21"
},
"cantidad debida": {
"currency_code": "USD",
"valor": "74.21"
},
"Enlaces": [{
"href": "https://api.sandbox.paypal.com/v2/invoicing/invoices/INV2-PXSC-LFZ3-FDAX-HR3E",
"rel": "self",
"método": "OBTENER"
}, {
"href": "https://api.sandbox.paypal.com/v2/invoicing/invoices/INV2-PXSC-LFZ3-FDAX-HR3E/send",
"rel": "enviar",
"método": "POST"
}, {
"href": "https://api.sandbox.paypal.com/v2/invoicing/invoices/INV2-PXSC-LFZ3-FDAX-HR3E",
"rel": "reemplazar",
"método": "PONER"
}, {
"href": "https://api.sandbox.paypal.com/v2/invoicing/invoices/INV2-PXSC-LFZ3-FDAX-HR3E",
"rel": "eliminar",
"método": "BORRAR"
}, {
"href": "https://api.sandbox.paypal.com/v2/invoicing/invoices/INV2-PXSC-LFZ3-FDAX-HR3E/payments",
"rel": "pago de registro",
"método": "POST"
}]
}

3. Enviar una factura
Después de enviar la factura a su comprador, la factura se transfiere a las cuentas por pagar y sucede lo siguiente:
- Usted y su cliente serán notificados por correo electrónico.
- El estado de la cuenta se actualiza a ENVIADO.
- El cliente ve una factura con un botón de pago en línea.

Un ejemplo de una solicitud que envía una factura al comprador (no se olvide del token):
 curl -v -X POST \
https://api.sandbox.paypal.com/v2/invoicing/invoices/INV2-Z56S-5LLA-Q52L-CPZ5/send \
-H "Tipo de contenido: aplicación / json" \
-H "Autorización: Token de acceso al portador"

Una solicitud exitosa devolverá el código de estado HTTP 200 OK sin JSON en respuesta.

Para cambiar a la versión de producción (en vivo), use las URL de producción en vivo en consecuencia, reemplace https://api.sandbox.paypal.com/v2/ con https: //api.paypal.com/v2 / ...

Eso es todo. Hemos cubierto una manera fácil de enviar una factura para el pago de PayPal (facturación).
¡Felicitaciones! Sabe cómo configurar y enviar facturas de PayPal a los clientes.

Continuará..