Comenzando
-
Instalar el Plugin
Ventana de terminal npm i @Capgo/Capacitor-payVentana de terminal pnpm add @Capgo/Capacitor-payVentana de terminal yarn add @Capgo/Capacitor-payVentana de terminal bun add @Capgo/Capacitor-pay -
Sincronizar proyectos nativos
Ventana de terminal npx cap syncVentana de terminal pnpm cap syncVentana de terminal yarn cap syncVentana de terminal bunx cap sync
Requisitos previos nativos
Section titled “Requisitos previos nativos”-
Apple Pay (iOS)
- Crea un ID de comerciante Apple Pay en el portal de desarrolladores de Apple.
- Genera y sube el certificado de procesamiento de pagos requerido por tu pasarela.
- Habilita la capacidad Apple Pay en Xcode y asegúrate de que tu perfil de aprovisionamiento la incluya.
- Actualiza
Info.plistcon una descripción de uso si tu pasarela requiere acceso a la red para validar pagos.
-
Google Pay (Android)
- Inicia sesión en la Consola de Negocios de Google Pay.
- Configura los parámetros de tu pasarela de pago o configura tokenización directa para pruebas.
- Si planeas usar tarjetas de producción, cambia
environmentaPRODUCTIONy registra tarjetas de prueba para QA. - Confirma que los servicios de Google Play estén disponibles en el dispositivo (requerido por Google Pay).
Consulta las guías bajo docs/ en el repositorio del Plugin para capturas de pantalla paso a paso.
Verificar disponibilidad
Section titled “Verificar disponibilidad”import { Pay } from '@capgo/capacitor-pay';
const availability = await Pay.isPayAvailable({ apple: { supportedNetworks: ['visa', 'masterCard', 'amex'] }, google: { isReadyToPayRequest: { allowedPaymentMethods: [ { type: 'CARD', parameters: { allowedAuthMethods: ['PAN_ONLY', 'CRYPTOGRAM_3DS'], allowedCardNetworks: ['VISA', 'MASTERCARD'], }, }, ], }, },});
if (!availability.available) { console.warn('Native pay unavailable:', availability);}Solicitar pago (Apple Pay)
Section titled “Solicitar pago (Apple Pay)”const appleResult = await Pay.requestPayment({ apple: { merchantIdentifier: 'merchant.com.example.app', countryCode: 'US', currencyCode: 'USD', supportedNetworks: ['visa', 'masterCard'], paymentSummaryItems: [ { label: 'Starter Plan', amount: '9.99' }, { label: 'Capgo Store', amount: '9.99' }, ], requiredShippingContactFields: ['name', 'emailAddress'], },});
const token = appleResult.apple?.paymentData;Solicitar pago (Google Pay)
Section titled “Solicitar pago (Google Pay)”const googleResult = await Pay.requestPayment({ google: { environment: 'test', paymentDataRequest: { apiVersion: 2, apiVersionMinor: 0, allowedPaymentMethods: [ { type: 'CARD', parameters: { allowedAuthMethods: ['PAN_ONLY', 'CRYPTOGRAM_3DS'], allowedCardNetworks: ['VISA', 'MASTERCARD'], billingAddressRequired: true, billingAddressParameters: { format: 'FULL' }, }, tokenizationSpecification: { type: 'PAYMENT_GATEWAY', parameters: { gateway: 'example', gatewayMerchantId: 'exampleMerchantId', }, }, }, ], merchantInfo: { merchantName: 'Capgo Store', }, transactionInfo: { totalPriceStatus: 'FINAL', totalPrice: '9.99', currencyCode: 'USD', countryCode: 'US', }, }, },});
const paymentData = googleResult.google?.paymentData;Manejar respuestas
Section titled “Manejar respuestas”- Tokeniza el payload devuelto con tu procesador de pagos y confirma la transacción del lado del servidor.
- Proporciona una ruta alternativa (entrada de tarjeta, factura) si el pago nativo no está disponible o el usuario cancela la hoja.
- Cachea el resultado de disponibilidad para no mostrar los botones en dispositivos no soportados.