Skip to main content
Bob Payments offers a single integration to create, track, and reconcile payments. The method you choose changes the buyer’s experience, but the transaction lifecycle stays the same: create it, wait for the result, and confirm via webhook.

Available methods

Credit card is not available yet. The card pages describe how it will work once it launches. For now, use PIX.
A method can only be used when it’s enabled on the project. Don’t enable a method just because it appears in an old API payload or enum.

Choose how to integrate

The direct API must not receive the card number, CVV, or expiration date. For card payments, use the hosted checkout or the Checkout SDK, which tokenize the data in the browser.

Common flow

1

Set up the environment

Create an sk_test_ key and enable the methods you want to accept. Start with the Sandbox.
2

Create the payment

Use a direct transaction for PIX, or create a checkout session with paymentMethods, such as ['pix'] or ['crypto'].
3

Show the next step to the buyer

For PIX, display the pixCode and the QR Code. For crypto, redirect the buyer to the hosted page’s checkoutUrl. For card, use the hosted checkout or the SDK for tokenization and 3DS authentication.
4

Confirm on the server

Receive the transaction.paid event, verify the signature, and release the order only after confirmation. The checkout return page does not replace the webhook.

States and confirmation

Use the transaction or session status to show the state to the buyer, but treat the webhook as the source of truth on the backend. A 201 confirms that the resource was created; it does not confirm that the payment was approved. Specific states may vary by method. Check the PIX reference, the card reference, and the webhooks before implementing your order’s state machine.

Next steps

Start in the Sandbox

Test creation, payment, expiration, and webhooks without moving real money.

Go to production

Run through the security, idempotency, and confirmation checklist before using sk_live_.