Passing BBMS Payment Token to RE NXT

We are currently working with the BBMS checkout and RE NXT to allow the users to create recurring monthly transactions.

We have created a solution using the RE NXT Gift API and the BBMS Payments API to generate a card token and pass that into RE NXT as a recurring gift with the schedule.

We have tried different variations and followed a couple of support tickets available on the community forum however even though the recurring gift is created with a card token attached (and an auth code available) the recurring payments fail due to the card token not being valid.

2451b6bf35a4d65cea80789f3e82a155-huge-im

We get the error - HardReject: The CardToken specified no longer exists.

We need to find a way to store the token (or confirm if what we are currently doing is not storing the token correctly) so that future payments can be charged using the stored token.

We are passing the account token and the checkout_transaction_id. We have tried the following:

  1. Passing the credit card token to both account_token and checkout_transaction_id
  2. Submitting a payment via the token first and then passing the transaction ID to checkout_transaction_id and the card token to account_token
  3. Changing BBMS from card no present to store card
  4. Setting the charge_transaction value to true/false

Please find below an example call we make to RE NXT and the data array we submit. If the following can be reviewed to confirm if everything is as expected that would be much appreciated.

c79d1f505395d25e943d3bdcd7ab2a8f-huge-im

Comments

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

    Hi

    Thanks for the details here.

    1. When you initially capture the payment information using Blackbaud Checkout, does it successfully charge the card?
    2. Using the card token that you get back from the Checkout authorization step, can you try using this endpoint and see if you get data returned from the Payments API about the tokenized payment method? This will help verify that the card token is valid.

    I also highly recommend reviewing this recent presentation we gave at bbcon. The technical walkthrough starts around the 9:40s mark and it steps through the code for Checkout auth/capture and how to then create that as a recurring gift in RE NXT (around 28:50). This may help shed some light on the right values to pass between the Payments API and the Gift API.

    Let us know what you find and if this helps resolve the issue.

    Thanks!

  • Thank you Mina, Appreciate the response.

    We will go through the technical walkthrough and let you know if you have any questions.

    In regards to the initial capture, we take an initial payment using the card token (after generating it from BBMS). So I believe the card token does work (it does show up in BB under the Recurring Gift as well - under the Payment Object).

    In regards to the new endpoint, I will test that out and confirm if that is working for us.

  • Hi Mina,

    I was looking into the Payment API and it looks like the token we get back are just a bunch of zero's. I am assuming this is incorrect as we should be receiving a valid token for future payments correct?

    We have passed the transaction_type as store_card (We have tested this with card_not_present as well)

    stdClass Object

    (
    …..
    [id] => xxxx-xxxx-xxxx-xxxx-xxxx
    [is_live] => 1
    [phone_number] =>
    [state] => Processed
    [token] => 00000000-0000-0000-0000-000000000000
    [transaction_date] => 2/9/2022 7:05:29 AM
    [transaction_type] => CardNotPresent
    [authorization_code] => RXXXXX
    )


    Above is the part of the return object and as you can see the token is set to 0.

    Can you please confirm why this might be occurring?

    I also noticed that in the video guide you provided that the card token was generated using uuidv4. (I assume this was only done to simulate a card token). I would like to know if BBCheckout does provide an actual token on a successful payment.

    Further to the above, I did manage to find an API call to get the cardToken - https://developer.sky.blackbaud.com/docs/services/payments/operations/CreateCardToken

    However it looks like that is a server side call and will require us to pass the payment information to the server which beats the purpose of having the BBCheckout.

  • Also to confirm, for the account_token we will be utilising the token that we capture in the Payments API call correct?

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

    When you are launching Checkout to capture a new payment, you should be generating a GUID and passing that into the card_token field. This will tokenize the payment information and assign it to the GUID you created.

    To validate that, as a test you can then call this endpoint with that card_token to check that the token has been stored in BBPS.

    For the account_token - correct, you should use the card_token value.

  • Hi Mina,

    Thank you for the information. I will test this out and confirm if everything is working as expected.

    Appreciate the quick responses and the assistance :)

  • Hi Mina,

    Thank you heaps! Solution worked as per the video and is capturing future payments as well. #lifesaver

    I had a couple of questions with data recording in RE NXT,

    1. The payments are coming through as CASH, however I was wondering if we can update them to come through as - Recurring Gift Pay-Cash - Can this be set via the API ?
    2. How to add Payments from the API into Batches within RE NXT.

    Thank you again :)

  • Anthony Gallo
    Anthony Gallo Blackbaud Employee
    Tenth Anniversary Kudos 5 Commented in Discussion First Reply

    The gifts/giving team is planning to update the endpoint to allow for cash payments for manual recurring gifts in database view. We have it planned currently for Q1.

    If I am assuming #2 correctly, you are looking to add payments to gifts currently still in batch and this is not something we will move forward with. Gifts need to be processed out of batch and then payments can be applied. If I am missing something there please let me know.

  • Hi Anthony & Mina,

    Thank you for your response. We managed to get everything resolved however having some issues when linking recurring gift payments to a recurring gift.

    I have opened a new discussion here, however thought I might drop a message here in case you guys might be able to help :)

    Cheers.

  • Hi Anthony,

    Please can you or one of your colleagues support us with the following ticket: https://community.blackbaud.com/forums/viewtopic/494/58314

    Your help is much appreciated.

    Cheers,

    Marlin

  • Anthony Gallo
    Anthony Gallo Blackbaud Employee
    Tenth Anniversary Kudos 5 Commented in Discussion First Reply

    We are working on a response to that post. Just so we don't lose track of where we have open issues, it looks like this post is resolved. If you can ping the other post with any updates or questions it will be easier for us to track.

Categories