Tokenización del método de pago
La tokenización es el proceso que permite almacenar de forma segura los datos de pago confidenciales de los clientes mediante la creación de un token.
información
El almacenamiento del método de pago solo está disponible para los pagamentos con Cartão de Crédito/Débito e MBWay y en el layout basic y default.
Para crear un token, se deben seguir los siguientes pasos:
- Obtener el UUID del cliente;
 - Compra mediante checkout utilizando el ID del cliente registrado.
 
1. Obtener el UUID del cliente
El primer paso es obtener el UUID del cliente que desea registrar su método de pago. Esto se puede hacer a través de:
2. Finalizar pago mediante checkout
Para que el método de pago esté disponible, es necesario completar un pago con éxito.
- Solicitud
 - Respuesta
 
POST /checkouts
{
	"payment": {
		"amount": 100,
		"recurring": {
			"amountQualifier": "ESTM" // <== Montante váriável
		},
		"customer": {
			"uuid": "e2343605-cf46-43de-b20b-9b7d1c95a9b2" // <== ID do customer registado
		},
		"paymentMethod": {
			"code": "CC",
			"details": {
				"createRegistration": true // <== Indicar que é para criar token
			}
		}
	},
	"page": {
		"language": "PT"
	}
}
{
	"apiVersion": "1.0",
	"date": "2021-10-20T11:34:48+01:00",
	"success": true,
	"data": {
		"id": "Qldt1DlonfiF4HthdiCfB1DRmgM31LzmVrFjU6jk",
		"createdAt": "2021-10-20 11:34:48",
		"checkoutUrl": "http://paypay.acin.pt/paypaybeta/checkout/v2/form/Qldt1DlonfiF4HthdiCfB1DRmgM31LzmVrFjU6jk",
		"paymentId": "42380",
		"stateDetails": {
			"state": "PaymentReady",
			"timestamp": "2021-10-20T11:34:48+01:00"
		}
	}
}
3. Consultar métodos de pago del cliente
Tras el pago con éxito, el método de pago se añade a los métodos de pago del cliente.
GET /customers/{uuid}/paymentMethods
{
	"apiVersion": "1.0",
	"date": "2021-09-24T17:57:42+01:00",
	"success": true,
	"data": [
		{
			"type": "CC",
			"uuid": "90068f83-7623-4de5-91c7-ac447c504ebf",
			"brand": "VISA",
			"last4Digitis": "0809",
			"holder": "Luís Gonçalves",
			"expireMonth": "05",
			"expireYear": "2026"
		},
		{
			"type": "MW",
			"uuid": "45668f83-7623-4de5-91c7-ac447c504ebf",
			"countryCode": "351",
			"last3Digitis": "263"
		}
	]
}
Tokenización con el consentimiento del cliente
- Solicitud
 - Respuesta
 
{
	"payment": {
		"amount": 500,
		"code": "REFPRODUTO_1",
		"summary": "Computador",
		"customer": {
			"uuid": "e2343605-cf46-43de-b20b-9b7d1c95a9b2" // <== Indicar o uuid do cliente
		},
		"billingAddress": {
			"country": "PT",
			"city": "Lisboa",
			"street1": "Rua Domingos Monteiro nº 7 A",
			"postCode": "1050-074"
		},
		"paymentMethod": {
			"code": "CC",
			"details": {
				"allowRegistration": true // <== Indicar a possibilidade de armazenar o método de pagamento
			}
		}
	},
	"page": {
		"language": "PT",
		"layout": "basic" // <== Indicar o layout que permite armazenar o método de pagamento
	}
}
{
	"apiVersion": "1.0",
	"date": "2022-01-03T14:16:17+00:00",
	"success": true,
	"data": {
		"id": "pyKP1B9IaK9J47wTSNB4mUnv2h4DJW8HzomddMp1",
		"createdAt": "2022-01-03 14:16:17",
		"checkoutUrl": "https://paypay.pt/paypay/referencia/referencia_c/pay/4d0757e6d4db52fae248e1a2e9f10a1e8cdb0a25/paypay/pyKP1B9IaK9J47wTSNB4mUnv2h4DJW8HzomddMp1",
		"paymentId": "42690",
		"stateDetails": {
			"state": "PaymentReady",
			"timestamp": "2022-01-03T14:16:17+00:00"
		}
	}
}
id
que identifica el checkout ante la API.
El
checkoutUrl
es el enlace para acceder a la página y realizar el pago.
El
paymentId
es el identificador del pago.
Al acceder al
checkoutUrl
se muestra la siguiente página:
