# Vestrapay > Accept card and bank transfer payments with the Vestrapay API. - [Introduction](https://docs.vestrapay.com/index.md): Collect card and bank transfer payments in Nigeria with the Vestrapay API. - [Quickstart](https://docs.vestrapay.com/quickstart.md): Initialize a payment with your secret key and send the customer to Vestrapay checkout. - [API keys and environments](https://docs.vestrapay.com/keys.md): Test vs live keys, hosts, and how to authenticate server calls. - [API responses](https://docs.vestrapay.com/responses.md): Success and failure JSON from the Vestrapay API. - [Sample code](https://docs.vestrapay.com/libraries.md): Initialize and verify in Node, Python, and PHP. - [Errors](https://docs.vestrapay.com/errors.md): How failed responses are shaped and which codes matter when collecting payments. - [Overview](https://docs.vestrapay.com/payments/accept-payments.md): Redirect to hosted checkout, or collect card and transfer on your own pay screen. - [Pay with card](https://docs.vestrapay.com/payments/card.md): Collect a card through hosted fields and run 3-D Secure when the issuer requires it. - [Pay with transfer](https://docs.vestrapay.com/payments/transfer.md): Show a dedicated virtual account, wait for the customer to transfer, and confirm with a webhook. - [Other channels](https://docs.vestrapay.com/payments/other-channels.md): Pay with bank and USSD on hosted checkout. - [Payment links](https://docs.vestrapay.com/payments/payment-links.md): Share a URL that collects a payment without your own checkout page. - [Verify a payment](https://docs.vestrapay.com/payments/verify.md): Confirm a transaction on your server with the reference before you fulfill. - [Webhooks](https://docs.vestrapay.com/payments/webhooks.md): Receive payment.completed on your server, check the signature, then verify. - [Test payments](https://docs.vestrapay.com/payments/test.md): Test keys, mock cards, and transfer simulation. - [Go live](https://docs.vestrapay.com/payments/go-live.md): Switch from test keys to live after KYB. - [Initialize a payment](https://docs.vestrapay.com/api-reference/payments/initialize-a-payment.md): Creates a pending transaction and returns a reference, access code, and checkout URL. The reference is generated (`VPY_TXN_…`). - [Verify a payment](https://docs.vestrapay.com/api-reference/payments/verify-a-payment.md): Canonical server-side lookup. Fulfill only when data.status is success and data.amount matches the order. - [Prepare hosted card session](https://docs.vestrapay.com/api-reference/checkout/prepare-hosted-card-session.md): Returns processor config for CyberSource Flex or MPGS hosted fields. - [Charge a card](https://docs.vestrapay.com/api-reference/checkout/charge-a-card.md): Submit the Flex token or MPGS session after hosted fields. Inspect data.status for fingerprint_required, 3ds_required, success, or failed. - [Complete 3-D Secure after fingerprint](https://docs.vestrapay.com/api-reference/checkout/complete-3-d-secure-after-fingerprint.md): Call only after charge returned data.status fingerprint_required. - [Pay with transfer](https://docs.vestrapay.com/api-reference/checkout/pay-with-transfer.md): Issues a dedicated virtual account for this payment. No request body. Email must have been sent on initialize. - [Simulate a transfer (test only)](https://docs.vestrapay.com/api-reference/checkout/simulate-a-transfer-test-only.md) - [List banks for pay-with-bank](https://docs.vestrapay.com/api-reference/checkout/list-banks-for-pay-with-bank.md) - [Pay with bank](https://docs.vestrapay.com/api-reference/checkout/pay-with-bank.md) - [Pay with USSD](https://docs.vestrapay.com/api-reference/checkout/pay-with-ussd.md) - [Checkout status](https://docs.vestrapay.com/api-reference/checkout/checkout-status.md) - [Checkout verify](https://docs.vestrapay.com/api-reference/checkout/checkout-verify.md): Pay-page helper. Server fulfillment uses GET /payment/verify/{reference}. - [Checkout events (SSE)](https://docs.vestrapay.com/api-reference/checkout/checkout-events-sse.md): Server-Sent Events for the pay page. Not wrapped in { status, data }. Events include checkout.connected, checkout.heartbeat, checkout.awaiting_transfer, checkout.3ds_required, checkout.completed. ## OpenAPI Specs - [openapi](/openapi.yaml)