Get Credit Card Holder Name for Gifts

Hello, We are trying to retrieve the Payments Credit Card Holder Name for the Gifts. We tried to use the Get Transaction from Payments API (https://api.sky.blackbaud.com/payments/v1/transactions/{transaction_id}), however, the transaction_id is not available from the response of the Gift List API (https://api.sky.blackbaud.com/gift/v1/gifts).

We had no luck using the Get Card API as well since the card_token is not available when doing a Get Gift List API as well.

Sample Request URL: https://api.sky.blackbaud.com/gift/v1/gifts?start_gift_date=*****&end_gift_date=*****&start_gift_amount=1&gift_type=Donation&gift_type=RecurringGiftPayment&limit=5000

The sample response we get from the Get Gift List is:
{
id: "****",
acknowledgements: [
{
status: "NotAcknowledged"
}
],
amount: {
value: 50
},
batch_number: "****",
constituent_id: "****",
date: "****",
date_added: "****",
date_modified: "****",
gift_splits: [
{
id: "****",
amount: {
value: 50
},
appeal_id: "****",
campaign_id: "****",
fund_id: "****",
package_id: "****"
}
],
gift_status: "Active",
is_anonymous: false,
constituency: "Member",
lookup_id: "****",
payments: [
{
payment_method: "CreditCard"
}
],
post_date: "****",
post_status: "NotPosted",
receipts: [
{
amount: {
value: 50
},
status: "NotReceipted"
}
],
type: "Donation"
}

Wondering if anyone encountered this as we might be missing a request parameter or incorrect version?

Comments

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

    Hi

    In the response you posted, there is a payments section (where it shows “CreditCard”) - this will contain an “account_token” property if it's available. You can see this in the JSON schema on the endpoint documentation.

    Not every gift will include a card token and it will depend on various factors including how the gift was collected and whether the payment method was tokenized at the time.

    Is it possible for you to use the constituent name on the gift record vs. the cardholder name? What scenario are you working on where the cardholder name is required?

    Thanks

    Mina

  • Hi, Mina--I'm going to chime in here too as this topic was started on behalf of our organization. We're trying to bring gift data into our accounting software, and we are trying to reconcile gifts in Raiser's Edge (that we move into our accounting software) with BBMS. But because the cardholder name in BBMS does not always match the gift record, we would really like the cardholder name brought in with the credit card gifts. We can always get the cardholder name with a manual export/import from Raiser's Edge, which is why we assumed we could connect gift records and BBMS with the API, but maybe that isn't the case? Am I missing something else here?

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

    Hi Grant

    Thank you for outlining the use case.

    To try and narrow down the potential issue - can we confirm whether any of the gifts you are querying from the Gift List API include either a bbpstransactionid or account token? Both of these are included in the documentation and so if these are missing for all your gifts, that's where further investigation would be required.

    Once you are able to retrieve either the transaction id or token, the cardholder name should be accessible from the Payments API.

    Thanks

    Mina

  • Hi Mina,

    Upon testing we don't receive a bbpstransactionid or account token on the Gift List API.

    This is a sample response on which fields are returned to us when we trigger that API:

    {
    id: "****",
    acknowledgements: [
    {
    status: "NotAcknowledged"
    }
    ],
    amount: {
    value: 50
    },
    batch_number: "****",
    constituent_id: "****",
    date: "****",
    date_added: "****",
    date_modified: "****",
    gift_splits: [
    {
    id: "****",
    amount: {
    value: 50
    },
    appeal_id: "****",
    campaign_id: "****",
    fund_id: "****",
    package_id: "****"
    }
    ],
    gift_status: "Active",
    is_anonymous: false,
    constituency: "Member",
    lookup_id: "****",
    payments: [
    {
    payment_method: "CreditCard"
    }
    ],
    post_date: "****",
    post_status: "NotPosted",
    receipts: [
    {
    amount: {
    value: 50
    },
    status: "NotReceipted"
    }
    ],
    type: "Donation"
    }

    Let us know what information you need to further investigate.

    Thanks!

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

    The requested values are only available currently from the single gift by ID endpoint. We do not have this information in our Fundraising DB or the gift list data service and without the information there, we are unable to provide it in the the list endpoint. For items like this we would direct you to the idea forum and we would track the need from there.

  • Hi Anthony,

    I tried to retrieve a single gift using the single gift by ID endpoint (https://api.sky.blackbaud.com/gift/v1/gifts/{gift_id}), however, it gave me the same fields as the Gift List API (https://api.sky.blackbaud.com/gift/v1/gifts).

    I still wasn't able to find bbpstransactionid or Account Token that could link me to the Payments API.

    Thanks.

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

    Based on the fact that this information is missing it sounds like it might not be a web view gift. If that is the case it could be the reason that this data is missing as it would not be required in database view.

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

    The single gift endpoint uses the gift list endpoint. We have work scheduled early in 2022 to address gaps in the gift endpoint like this.