Real-time authorizations

     

    Learn more about real-time authorizations.

    Using the synchronous webhook, you can approve or decline authorization requests in real time.

    Your webhook endpoint can be configured in your settings. When a card is used to make a purchase, Stripe creates an issuing_authorization.request and sends it to your configured endpoint for your approval.

    Responding to authorization requests

    Make an API call to either approve or decline the request and include the Authorization ID.

    curl https://api.stripe.com/v1/issuing/authorizations/iauth_1CmMk2IyNTgGDVfzFKlCm0gU/approve \ -u sk_test_4eC39HqLyjWDarjtT1zdp7dc:
    # Set your secret key. Remember to switch to your live secret key in production! # See your keys here: https://dashboard.stripe.com/account/apikeys Stripe.api_key = 'sk_test_4eC39HqLyjWDarjtT1zdp7dc' authorization = Stripe::Issuing::Authorization.approve('iauth_1CmMk2IyNTgGDVfzFKlCm0gU')
    # Set your secret key. Remember to switch to your live secret key in production! # See your keys here: https://dashboard.stripe.com/account/apikeys stripe.api_key = 'sk_test_4eC39HqLyjWDarjtT1zdp7dc' authorization = stripe.issuing.Authorization.approve('iauth_1CmMk2IyNTgGDVfzFKlCm0gU')
    // Set your secret key. Remember to switch to your live secret key in production! // See your keys here: https://dashboard.stripe.com/account/apikeys \Stripe\Stripe::setApiKey('sk_test_4eC39HqLyjWDarjtT1zdp7dc'); $authorization = \Stripe\Issuing\Authorization::retrieve('iauth_1CmMk2IyNTgGDVfzFKlCm0gU'); $authorization->approve();
    // Set your secret key. Remember to switch to your live secret key in production! // See your keys here: https://dashboard.stripe.com/account/apikeys Stripe.apiKey = "sk_test_4eC39HqLyjWDarjtT1zdp7dc"; Authorization authorization = Authorization.retrieve("iauth_1CmMk2IyNTgGDVfzFKlCm0gU"); authorization.approve();
    // Set your secret key. Remember to switch to your live secret key in production! // See your keys here: https://dashboard.stripe.com/account/apikeys const stripe = require('stripe')('sk_test_4eC39HqLyjWDarjtT1zdp7dc'); const charge = stripe.issuing.authorizations.approve('iauth_1CmMk2IyNTgGDVfzFKlCm0gU')
    // Set your secret key. Remember to switch to your live secret key in production! // See your keys here: https://dashboard.stripe.com/account/apikeys stripe.Key = "sk_test_4eC39HqLyjWDarjtT1zdp7dc" authorization, err := authorization.Approve("iauth_1CmMk2IyNTgGDVfzFKlCm0gU", &stripe.IssuingAuthorizationParams{})
    // Set your secret key. Remember to switch to your live secret key in production! // See your keys here: https://dashboard.stripe.com/account/apikeys StripeConfiguration.ApiKey = "sk_test_4eC39HqLyjWDarjtT1zdp7dc"; var service = new AuthorizationService(); var authorization = service.Approve("iauth_1CmMk2IyNTgGDVfzFKlCm0gU");

    Authorization requests

    When an authorization request is sent to your webhook, the amount requested is stored in pending_request.

    { "id": "iauth_1CmMk2IyNTgGDVfzFKlCm0gU", "object": "issuing_authorization", "approved": false, "amount": 0, "currency": "usd", "status": "pending", ... "pending_request": { "amount": 400, "currency": "usd", "merchant_amount": 360, "merchant_currency": "gbp", } }

    The top-level amount in the request is set to 0 and approved is false. Once you respond to the request, the top-level amount reflects the total amount approved or declined, the approved field is updated, and pending_request is set to null.

    Was this page helpful?

    Feedback about this page?

    Thank you for helping improve Stripe's documentation. If you need help or have any questions, please consider contacting support.

    On this page