How to Process Payment and Link to Constituent/Fund/Campaign/Appeal via API

What's the normal path to process a payment through the Payment API and then also through the API linking that payment to a constituent, fund number, campaign and appeal?


Do I need to use multiple APIs for the transaction?


For example, first the Payment API to make the payment - store the transaction id, then lookup the constituent who made the payment with the Constituent Search API and store the constituent ID (I'm assuming the Payment API creates a new constituent if the person has never donated before? Or if not, how do I deal with a new donor?), and then use the Gift API to process that transaction, with the constituent ID and bbps_transaction_id so that it shows up correctly in Raiser's Edge? Or in some other order? Or am I missing something?


Thanks for your help!

Comments

  • The answer is yes, you have to use multiple API's to process a gift. Not really clear in the documentation, so in case anyone else ever gets stuck. Process the payment with the Blackbaud Checkout - then use the id and token to create a new gift in a batch (which can be linked to a constituent/fund/campaign/appeal).

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

    Hi Nathan - you are correct. The Payments API for BBMS will process a payment and optionally tokenize a card, but it will not push that payment/gift record into RE NXT. As you described, the Gift API is what you will need to use to link that payment record with the appropriate constituent record. Note that you will need to create a new constituent if no match is found using the Gift API.

    Let us know if you have any further questions.

    Mina

  • @Nathan Wells Can you tell me if there is a training somewhere to set up the process to put the gifts into a batch?


  • Anthony Gallo
    Anthony Gallo Blackbaud Employee
    Tenth Anniversary Kudos 3 Name Dropper Participant

    @Nathan Wells Your plan looks correct. You will use the fundraising API to get the campaign, fund and appeal data. That data can then be sent in using a child record on the Gift API and it will all be sent to batch.

  • @Anthony Gallo
    Hello! I'm interested in a similar flow as well, although our particular use-case involves handling the transaction in a third-party processing environment, and then manually mocking-up the payment method (without processing on Blackbaud's side)

    Right now for all gifts we create we're using the “Other” payment type with a reference containing a string with the credit card info (card type and cardholder name), but one of our clients would prefer a more “native” approach where we use the “Credit Card” payment type, and cardholder details populate from a manual transaction made elsewhere.

    Is there a way to create a mocked/fake transaction with the Blackbaud Payment System API that doesn't require an actual credit card to be linked, that also contains some card details like name and card type?

    seems to be a similar question from someone in the past, but it seems there was no clear resolution for their scenario.

  • For anyone following along, I've made an Idea for being able to make a credit card payment on a Gift that contains cardholder info (like name and card type); without processing through Blackbaud.

    Issue is here for anyone interested: