Iniziare
-
Installa il plugin
Terminal window npm i @capgo/capacitor-payTerminal window pnpm add @capgo/capacitor-payTerminal window yarn add @capgo/capacitor-payTerminal window bun add @capgo/capacitor-pay -
Sincronizza progetti nativi
Terminal window npx cap syncTerminal window pnpm cap syncTerminal window yarn cap syncTerminal window bunx cap sync
Prerequisiti nativi
Section titled “Prerequisiti nativi”-
Apple Pay (iOS)
- Crea un ID commerciante Apple Pay nel portale Apple Developer.
- Genera e carica il certificato di elaborazione dei pagamenti richiesto dal tuo gateway.
- Abilita la capacità Apple Pay in Xcode e assicurati che il tuo profilo di provisioning la includa.
- Aggiorna
Info.plistcon una descrizione di utilizzo se il tuo gateway richiede accesso alla rete per convalidare i pagamenti.
-
Google Pay (Android)
- Accedi alla Console aziendale Google Pay.
- Configura i parametri del tuo gateway di pagamento o imposta la tokenizzazione diretta per i test.
- Se prevedi di utilizzare carte di produzione, passa
environmentaPRODUCTIONe registra carte di test per il QA. - Conferma che i servizi Google Play siano disponibili sul dispositivo (richiesto da Google Pay).
Consulta le guide in docs/ nel repository del plugin per screenshot dettagliati.
Controlla disponibilità
Section titled “Controlla disponibilità”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('Pagamento nativo non disponibile:', availability);}Richiedi pagamento (Apple Pay)
Section titled “Richiedi pagamento (Apple Pay)”const appleResult = await Pay.requestPayment({ apple: { merchantIdentifier: 'merchant.com.example.app', countryCode: 'IT', currencyCode: 'EUR', supportedNetworks: ['visa', 'masterCard'], paymentSummaryItems: [ { label: 'Piano Starter', amount: '9.99' }, { label: 'Negozio Capgo', amount: '9.99' }, ], requiredShippingContactFields: ['name', 'emailAddress'], },});
const token = appleResult.apple?.paymentData;Richiedi pagamento (Google Pay)
Section titled “Richiedi pagamento (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: 'Negozio Capgo', }, transactionInfo: { totalPriceStatus: 'FINAL', totalPrice: '9.99', currencyCode: 'EUR', countryCode: 'IT', }, }, },});
const paymentData = googleResult.google?.paymentData;Gestione delle risposte
Section titled “Gestione delle risposte”- Tokenizza il payload restituito con il tuo elaboratore di pagamenti e conferma la transazione lato server.
- Offri un percorso alternativo (inserimento carta, fattura) se il pagamento nativo non è disponibile o l’utente annulla.
- Memorizza nella cache il risultato della disponibilità in modo da non visualizzare i pulsanti su dispositivi non supportati.