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.

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:
- Passing the credit card token to both account_token and checkout_transaction_id
- Submitting a payment via the token first and then passing the transaction ID to checkout_transaction_id and the card token to account_token
- Changing BBMS from card no present to store card
- 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.

Comments
-
Hi
Thanks for the details here.
- When you initially capture the payment information using Blackbaud Checkout, does it successfully charge the card?
- 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!
0 -
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.
0 -
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.
0 -
Also to confirm, for the account_token we will be utilising the token that we capture in the Payments API call correct?
0 -
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.
0 -
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
0 -
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,
- 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 ?
- How to add Payments from the API into Batches within RE NXT.
Thank you again
0 -
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.
0 -
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.
0 -
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
0 -
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.
0
Categories
- All Categories
- 6 Blackbaud Community Help
- 209 bbcon®
- 1.4K Blackbaud Altru®
- 395 Blackbaud Award Management™ and Blackbaud Stewardship Management™
- 1.1K Blackbaud CRM™ and Blackbaud Internet Solutions™
- 15 donorCentrics®
- 359 Blackbaud eTapestry®
- 2.5K Blackbaud Financial Edge NXT®
- 646 Blackbaud Grantmaking™
- 564 Blackbaud Education Management Solutions for Higher Education
- 3.2K Blackbaud Education Management Solutions for K-12 Schools
- 934 Blackbaud Luminate Online® and Blackbaud TeamRaiser®
- 84 JustGiving® from Blackbaud®
- 6.4K Blackbaud Raiser's Edge NXT®
- 3.7K SKY Developer
- 243 ResearchPoint™
- 118 Blackbaud Tuition Management™
- 165 Organizational Best Practices
- 238 The Tap (Just for Fun)
- 33 Blackbaud Community Challenges
- 28 PowerUp Challenges
- 3 (Open) Raiser's Edge NXT PowerUp Challenge: Product Update Briefing
- 3 (Closed) Raiser's Edge NXT PowerUp Challenge: Standard Reports+
- 3 (Closed) Raiser's Edge NXT PowerUp Challenge: Email Marketing
- 3 (Closed) Raiser's Edge NXT PowerUp Challenge: Gift Management
- 4 (Closed) Raiser's Edge NXT PowerUp Challenge: Event Management
- 3 (Closed) Raiser's Edge NXT PowerUp Challenge: Home Page
- 4 (Closed) Raiser's Edge NXT PowerUp Challenge: Standard Reports
- 4 (Closed) Raiser's Edge NXT PowerUp Challenge: Query
- 779 Community News
- 2.9K Jobs Board
- 53 Blackbaud SKY® Reporting Announcements
- 47 Blackbaud CRM Higher Ed Product Advisory Group (HE PAG)
- 19 Blackbaud CRM Product Advisory Group (BBCRM PAG)

