Příklad životního cyklu platby
Jeden skript spojuje vytvoření platby, stav, seznam refundací a instrumenty — vhodné k rychlé kontrole sandbox přihlašovacích údajů end-to-end.
Skript ukazuje typický tok: vytvoření platby, dotaz na stav, seznam refundací a platební instrumenty. Zkopírujte do projektu s nainstalovaným gopay-sdk a sandbox proměnnými prostředí.
Skript
import { Currency, type PaymentResponse, createGoPayClient } from 'gopay-sdk';
async function createDemoPayment(): Promise<PaymentResponse> {
const client = createGoPayClient({
goid: 8123456789,
clientId: process.env.GOPAY_CLIENT_ID ?? 'YOUR_CLIENT_ID',
clientSecret: process.env.GOPAY_CLIENT_SECRET ?? 'YOUR_CLIENT_SECRET',
gatewayUrl: process.env.GOPAY_GATEWAY_URL ?? 'https://gw.sandbox.gopay.com/api',
});
const payment = await client.createPayment({
amount: 19900,
currency: Currency.CZK,
order_number: `LIFECYCLE-${Date.now()}`,
order_description: 'Lifecycle demo payment',
payer: {
contact: {
email: 'john.doe@example.com',
},
},
callback: {
return_url: 'https://example.com/return',
notification_url: 'https://example.com/notify',
},
});
if (!payment.id) {
throw new Error('Vytvoření platby nevrátilo ID platby.');
}
console.log('1) Platba vytvořena:', payment.id, payment.state);
const status = await client.getPayment(payment.id);
console.log('2) Stav po dotazu:', status.state, status.sub_state);
const refunds = await client.getPaymentRefunds(payment.id);
console.log('3) Počet záznamů refundací:', refunds.length);
const instruments = await client.getPaymentInstruments(8123456789, Currency.CZK);
console.log('4) Dostupné instrumenty:', instruments.enabledPaymentInstruments.length);
const allInstruments = await client.getPaymentInstrumentsAll(8123456789);
const instrumentCount = Array.isArray(allInstruments.enabledPaymentInstruments)
? allInstruments.enabledPaymentInstruments.length
: Object.keys(allInstruments.enabledPaymentInstruments).length;
console.log('5) Všechny instrumenty (záznamy):', instrumentCount);
return payment;
}
createDemoPayment().catch((error) => {
console.error('Lifecycle příklad selhal:', error);
process.exit(1);
});
Spuštění
Stejné proměnné prostředí jako v Základním použití. Spusťte vaším TypeScript / Node řetězcem.