Blackbaud Payment Form

Hello,

I've noticed that as I load this script :

Sometimes the loading fails and I get a 404 with this message in the console.
POST https://src.apis.discover.com/sdk/v1.0/initialization 404

What's happening here?

Thanks

Comments

  • Mina Mistry
    Mina Mistry Blackbaud Employee
    Seventh Anniversary Kudos 2 Name Dropper Participant

    Hi Lauren

    It looks like you may be missing an authentication token when launching Checkout. We have recorded a demo that walks through the code step-by-step for using Checkout, including the authorization steps. You can find the video here - I think this would be helpful to review!

    Payments API Deep Dive A Hands on Guide to Integrating with Blackbaud Merchant Services - YouTube

    (code deep dive starts around 10min mark).

    Please let us know if this resolves the issue!

    Mina

  • Hi Mina, thank you for linking to this resource. When you say authentication token, do you mean providing a token from this endpoint when I set up my transaction Data object to pass to the Blackbaud Init function?

    let transactionData = {

    key: “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx”,,

    payment_configuration_id: “xxx”x,

    transaction_type: "card_not_present",

    card_token: (Date.now().toString(36) + Math.random().toString(36).substring(2)).substring(0,19)

    }

    Blackbaud_Init(transactionData) ;

    Our app is set up in a headless way and is using a refresh token on the backend to finalize the checkout transaction. ( so the user never steps through the o auth process themselves)


  • Mina Mistry
    Mina Mistry Blackbaud Employee
    Seventh Anniversary Kudos 2 Name Dropper Participant

    Yes, let's delineate between the token you will need for Checkout vs. the OAuth token which is required for any SKY API request.

    The GET Public Key is what you'll need for Checkout to capture the transaction. That specific key doesn't trigger the OAuth process itself, but it does assume that you already have a separate OAuth token.

    The OAuth 2.0 authorization flow does require user interaction at least once to obtain the initial access and refresh token. The intended interaction is for a back-office user to authorize the “app” to use the Payments API. Once the initial tokens have been obtained, the refresh tokens can be used to maintain authorization indefinitely. We have a code sample showing how to do this here: https://github.com/blackbaud/skyapi-headless-data-sync.

Categories