Simplifica a xestión do teu negocio e acepta pagamentos en persoa cun dispositivo doado de usar.
Unha plataforma que evoluciona co teu negocio; escolle as funcionalidades que che axuden a avanzar.
Cobra aos teus clientes de forma remota dun xeito áxil e seguro, sen necesidade de ter unha tenda en liña.
Para comercios que buscan una experiencia online flexible, intuitiva y segura.
Proba e configura os teus produtos e servizos. Este panel está activo desde a autenticación do teu usuario.
Simplifica a xestión do teu negocio e acepta pagamentos en persoa cun dispositivo doado de usar.
Unha plataforma que evoluciona co teu negocio; escolle as funcionalidades que che axuden a avanzar.
Cobra aos teus clientes de forma remota dun xeito áxil e seguro, sen necesidade de ter unha tenda en liña.
Para comercios que buscan una experiencia online flexible, intuitiva y segura.
Proba e configura os teus produtos e servizos. Este panel está activo desde a autenticación do teu usuario.
Esta guía está pensada para axudarche a comprender que é a tokenización, como aplicala no teu comercio e como integrala tecnicamente a través de API ou librarías.
A tokenización é o proceso de substitución dos datos reais da tarxeta (PAN) por un código seguro e único chamado token que podes gardar e usar para futuras operacións.
Tes unha tenda en liña de produtos de beleza. No primeiro pagamento, a clienta insire a súa tarxeta e ti solicitas gardala. En compras posteriores, usarás o token e o cliente non precisa volver inserir os seus datos.
| Requisito | Detalle |
| Medio de pagamento | Só aplicable a operacións con tarxeta |
| O comercio garda o PAN? | Non, Wipöp xera un token (non precisas ser PCI-DSS) |
| Cando se fai a tokenización? | No primeiro pagamento (pode ser o importe real ou importe 0) |
| Autenticación obrigatoria no primeiro uso | Si, sempre require unha compra segura (EMV 3DS sen exencións) |
| Tipos de uso posterior | Pagamento cun só clic (CIT) e pagamentos recorrentes (MIT) |
| Información devolta por Openpay | Token, últimos 4 díxitos, data de caducidade, identificador da transacción orixinal (TrxID) |
| O cliente ten que autorizalo? | Si. Debes informar explicitamente do uso futuro da súa tarxeta |
| Parámetros adicionais necesarios ao crear o cargo inicial | Débense enviar obrigatoriamente: originchannel = “ECOM” (canle de orixe) producttype = “CARD” (tipo de produto) use_cof = true (indica unha solicitude de token COF) |
| Obtención do token para a súa reutilización | O token non se recibe na resposta directa do cargo. Recíbese só a través do webhook charge.succeeded / charge.created cando se inicia COF |
| Validez do token | O token só é válido se provén do webhook oficial. Non se deben usar tokens manuais ou gardados incorrectamente |
Explícoche como facelo de dúas maneiras:
POST /c/v1/tokens Merchant-ID: mxxxxxxxxxxxxxxxxxxx Authorization: Basic <base64(sk_xxxx: )>
{ "card": { "number": "4242424242424242", "exp_month": 12, "exp_year": 2026, "cvc": "123" } }
Resultado agardado:
{ "id": "tok_1234567890abcdef", "last4": "4242", "exp_month": 12, "exp_year": 2026 }
Esta operación debe facerse sempre con autenticación 3DS e co consentimento explícito do cliente.
POST /v1/charges{ "source_id": "tok_1234567890abcdef", "method": "card", "amount": 4999, "currency": "EUR", "order_id": "ORDER-1001", "post_type": "recurrent", "capture": true }
Só se permite o método card, as rutas e parámetros poden cambiar segundo a versión da API.
Despois da primeira operación CIT (Customer-Initiated Transaction), onde o cliente autoriza o pagamento con SCA/3DS, tokenízase a tarxeta e xérase un transaction_id que se debe usar nos futuros cargos recorrentes MIT (Merchant-Initiated Transaction).
Nos pagamentos recorrentes o cliente non está presente e, polo tanto, non se volve aplicar SCA, sempre que a operación faga referencia ao transaction_id da CIT inicial.
Endpoint
POST /c/v1/{merchantId}/chargesHeaders obrigatorios
Content-Type: application/json Merchant-ID: {merchantId} Authorization: Basic <Base64(sk_xxxxxx:)>
Body para MIT
{ “source_id”: “tok_1234567890abcdef”,
“method”: “card”,
“amount”: 1499,
“currency”: “EUR”,
“order_id”: “ORDR00001234”,
“origin_channel”: “API”,
“product_type”: “PAYMENT_GATEWAY”,
“use_cof”: true,
“post_type”: {
“mode”: “RECURRENT”
},
“related_transaction_id”: “trx_CIT_000001”
}
TokenRequest tokenRequest = new TokenRequest().setCard(new Card() .setNumber("4242424242424242") .setExpMonth(12) .setExpYear(2026) .setCvc("123")); Token token = client.tokenOperation().create(tokenRequest); String tokenId = token.getId();
CreateChargeParams params = new CreateChargeParams().method(ChargeMethod.CARD) .amount(BigDecimal.valueOf(49.99)) .currency(Currency.EUR) .orderId("ORDER-1001") .sourceId(tokenId) .postType(new PostType(PostTypeMode.RECURRENT)) .capture(true);
Charge charge = client.chargeOperation().create(params);
Ao solicitar o token, Wipöp devolve:
| Código/erro | Causa posible | Solución suxerida |
| 401 Unauthorized | Falta ou erro na API Key | Verifica a cabeceira Authorization |
| 403 Forbidden | O comercio no ten habilitada a operativa | Contacta co servizo de asistencia de Wipöp |
| 422 Unprocessable | Tarxeta non válida, caducada ou mal formatada | Revisa os datos enviados e téntao de novo |
| 400 Missing params | Mandatory fields not sent | Make sure to include all fields of the token |
| related_transaction_id required | The initial operation was not referenced | Mandatory for MIT according to PSD2 |
| VC / BC / AC | Tipo de rexeitamento bancario: VC: Validación do cliente BC: Validación do banco AC: Autorización do adquirente
| Útil para clasificar a orixe do fallo. |