Error: Run-time error '-2147219866 (80040666): An error occurred while communicating with the Blackbaud Payment Service. - when adding a credit card using the API

When using the API to add a credit card number to a constituent record, the following error is generated:

Run-time error '-2147219866 (80040666):
An error occurred while communicating with the Blackbaud Payment Service.

This issue only began after applying RE 7.95 patch #1 (still occurs in patch #2) and happens only when saving a credit card number (example: CreditCards.Add.Fields(CREDITCARD_fld_NUMBER) = "4111111111111111")
This is planned to be resolved in Raiser's Edge 7.96, which will be released and applied to databases in Blackbaud Hosting Services in fall 2016. For further updates on this release, please refer to our Release page.

Steps to Duplicate

  1. Use the CRecord object and create a simple external API application to add a credit card number to an existing record.
  2. Execute that application and note the error message.
Example code:
Public Sub AddCCNumber()
    Dim oRec As CRecord
    Set oRec = New CRecord
        
    oRec.Init goREAPI.SessionContext
    oRec.Load 280 ''Load a record
    
    With oRec.CreditCards.Add
        .OverrideInvalidCreditCardNumber = True
        ''Adding a credit card number causes the error
        .Fields(CREDITCARD_fld_NUMBER) = "4111111111111111"
        .Fields(CREDITCARD_fld_TYPE) = "Mastercard"
        .Fields(CREDITCARD_fld_CARDHOLDERNAME) = "Marc Negron"
        .Fields(CREDITCARD_fld_EXPIRES) = "01/2018"
        .Fields(CREDITCARD_fld_REFERENCE) = "TEST CC"
    End With
    
    ''An error occurred while communicating with the Blackbaud Payment Service occurs here
    oRec.Save
    
    Set oRec = Nothing
    
End Sub

Environment

 Raiser's Edge
 7.95
 7.95.6283.1

Was this article helpful?