Incorporar en la aplicación móvil
El checkout puede incorporarse a las aplicaciones móviles mediante el componente "Webview" y el mecanismo de "Deep linking" disponible en Android e iOS.
Referencias útiles:
- https://developer.android.com/training/app-links/deep-linking
- https://blog.devgenius.io/deep-linking-in-ios-f5bfa2959d0a
- https://en.yeeply.com/blog/deep-linking-android-ios-apps/
El proceso funciona como sigue:
- (Back-end) Generación del enlace de pago a través del recurso /checkouts;
- (Aplicación) Abrir el enlace obtenido anteriormente en la webview de Android/iOS;
- (Webview) Esperar a que el usuario complete el pago;
- (Aplicación) El usuario volvió a la aplicación;
- (Back-end) Consultar el estado del pago a través de la API;
- (Aplicación) Mostrar la vista de la aplicación de acuerdo con las necesidades del usuario
Generación de enlaces de checkout para Webview
O parâmetro redirects
do tipo action
deverá conter o url "Deep link" irá invocar a aplicação após o pagamento.
- Solicitud
- Respuesta
{
"payment": {
"amount": 500,
"code": "REFPRODUTO_1",
"summary": "Computador",
"customer": {
"customerId": "1",
"firstName": "José",
"lastName": "Silva",
"phoneNumber": "351#961234567",
"email": "jose.silva@email.com"
},
"billingAddress": {
"country": "PT",
"city": "Lisboa",
"street1": "Rua Domingos Monteiro nº 7 A",
"postCode": "1050-074"
},
"paymentMethod": {
"code": "CC" // <== Método de pagamento
}
},
"page": {
"language": "PT",
"layout": "default" // <== Incorporado
},
"redirects": [
{
"type": "action",
"url": "https://www.myapp.com" // <== URL deep Link
}
]
}
{
"apiVersion": "1.0",
"date": "2022-01-03T14:16:17+00:00",
"success": true,
"data": {
"id": "0uJQvNoxoloZCn4gyuGKIWR8dtU9OnAm0emxYWcb",
"createdAt": "2022-01-03 14:16:17",
"checkoutUrl": "https://paypay.pt/paypay/checkout/v2/embed/0uJQvNoxoloZCn4gyuGKIWR8dtU9OnAm0emxYWcb?page_layout=default",
"paymentId": "42690",
"stateDetails": {
"state": "PaymentReady",
"timestamp": "2022-01-03T14:16:17+00:00"
}
}
}