Tokenisation API

Options

We've implemented the Blackbaud Checkout as part of our form for regular giving. We want to use the form, since we at no point want to hold the credit card data. However this always triggers an instant payment, whilst in many cases we want to just register the credit card and charge donors in the next period.

Basically we want to tokenize the credit card and add it to the donor. We're looking for a solution to achieve this. We now tried to use the card present payment endpoint with a random UUID, like suggested in one of the Github examples. This endpoint returns a token and a success code, but we can't find the registration in the system. We suspect there is another endpoint to be called after with the token. The documentation doesn't specify what the expected flow is after, so we are a bit stuck.

Does anyone know how to complete this flow or if there is an alternative to achieve the tokenization process?

Comments

  • Mina Mistry
    Mina Mistry Blackbaud Employee
    Sixth Anniversary Facilitator 2 Name Dropper Photogenic

    Hi @Kees Diekmann

    You can use the Store Card version of Checkout which also presents in an iframe, similar to the Card Not Present flow. This will allow you to store the card against a GUID. It is documented here.

    Hope this achieves what you need!

    Thanks

    Mina

  • @Mina Mistry Thank you for your response.

    Should we use a random GUID for card_token here as well?
    Or this there something else to be filled out here?

  • @Mina Mistry

    This is what i get back from my developers using the store card endpoint suggested. We've tried this earlier.

    613aa8dff699d6c6631b400c20ae42d3-huge-im
  • Mina Mistry
    Mina Mistry Blackbaud Employee
    Sixth Anniversary Facilitator 2 Name Dropper Photogenic

    Once you have the card token from the Store Card workflow, you should use the Transaction endpoint to process a transaction against that card. At that point you are no longer using Blackbaud Checkout.

    Let us know if that works.

    Thanks.

  • @Mina Mistry

    We tried with Transaction endpoint as given in the documentation by passing token got from the store card call with test payment configuration id and got Error message saying invalid card token.

    what value do we need to pass in the payment configuration id to make it work. right now I am passing id configured for test.

    Here is my request data and the endpoint we are calling.

    end point : payments/v1/transactions

    {
    "amount": 2500,
    "card_token": "****46bg",// token got from store card call
    "payment_configuration_id": "****4155"
    }


    Could you please let us know what is going wrong?

  • Mina Mistry
    Mina Mistry Blackbaud Employee
    Sixth Anniversary Facilitator 2 Name Dropper Photogenic

    Hi @Kees Diekmann - to help troubleshoot, can you use the GET Card endpoint to validate that the card token you are using returns the correct test card information?

  • Hi @Mina Mistry,

    Kees and the team have implemented the get card fields in their integration as suggested above, however they are finding that the “brand” field is not being returned in results. Is this something that you have seen before for these endpoints? or could there be a reason why this field is not populating for Australian cards? they are seeing that the "bank_identification_number" and other card fields are consistently returned, but the “brand” is blank. a snippet of results is below, please let me know if you need any further information on this.

    eg: => 43661dd6-c7d0-4377-836d-01cf6f59a731 => {"cardInfo":{"bank_identification_number":"478280",
    "brand":"",

  • Mina Mistry
    Mina Mistry Blackbaud Employee
    Sixth Anniversary Facilitator 2 Name Dropper Photogenic

    Hi @Rebecca Gardiner

    Is this happening for every single request on GET Card or are you seeing the brand field populated intermittently?

  • @Mina Mistry I have clarified with the customer and they have confirmed it is Intermittently

    The two examples provided where the brand has recently not been provided are:

    BIN 478280 (VISA issued by ZIPMONEY PAYMENTS PTY, LTD.)
    BIN 481380 (VISA issued by NOVATTI GROUP, LTD.)

  • HI @Mina Mistry wondering if you have any feedback on this any why it may be happening/what the team can to do still get the right information if the field is returned blank?

  • Mina Mistry
    Mina Mistry Blackbaud Employee
    Sixth Anniversary Facilitator 2 Name Dropper Photogenic

    Hi @Rebecca Gardiner

    The data source we use for BIN information doesn't contain these BIN numbers. I suspect they are less common since we typically can return the data for most cards. I'm afraid at this time we don't have any other data source available to retrieve information on those specific BIN numbers.

    Thanks

    Mina

  • Thanks @Mina Mistry. I'm checking with the team to determine volume, if it's just these 2 may be ok. If they are experiencing it more frequently though, does this list get updated in times, or is it possible to add in BINs?

Categories