cancel
Showing results for 
Search instead for 
Did you mean: 

merchantReferenceId field missing in Webhook Payload as of 2021-04-17

The webhook payload no longer contains the merchantReferenceId field.  It was working correctly  and the field was present, since we integrated Authorize.Net at the beginning of January 2021.  On 2021-04-14, we started receiving some webhook payloads without the merchantReferenceId.  We use the merchantReferenceId field to match the transaction status with our order record, so we're lost without it.  At first the problem was intermittent, but as of 2021-04-16, the merchantReferenceId is consistently missing on webhook payloads.  I verified that we're still sending the refId, and receive it back in the response of the getHostedPaymentPageRequest.  It's just missing in the webhook call.

 

Did something change recently to prevent the transmission of the merchantReferenceId field?  Is anyone else experiencing this issue?

 

 

 

 

 

surlydre
Member
2 REPLIES 2

We also recently experienced this. We can see in our logs that our payment token included the merchant reference ID and the logs also show that the webhook data for the payment was missing it. We've only seen it once, on June 10th 2021, but can't explain it.

 

AuthNet, can you comment on this?

wstech
Member

I also see this.  Here are some details about the api call that caused this for me (in case this helps debug things).  In a sandbox environment, I sent:

{
  "ARBCreateSubscriptionRequest": {
    "merchantAuthentication": {
      "name": "XXXX",
      "transactionKey": "XXXX"
    },
    "refId": "077f90a7ed24e14562db",  <-- the Id I need in my webhook
    "subscription": {
      "paymentSchedule": {
        "interval": { "length": "1", "unit": "months" },
        "startDate": "2021-08-18",
        "totalOccurrences": "9999"
      },
      "amount": "5.49",
      "payment": {
        "creditCard": {
          "cardNumber": "4007000000027",  <--- sandbox num
          "expirationDate": "2025-12"
        }
      },
      "customer": { "type": "individual", "id": "1ff44b1bb27c45b48119" },
      "billTo": { "firstName": "Billy", "lastName": "Bob" }
    }
  }
}

The reply from that POST was:

{
  "messages": {
    "message": [
      {
        "code": "I00001",
        "text": "Successful."
      }
    ],
    "resultCode": "Ok"
  },
  "profile": {
    "customerPaymentProfileId": "XXXX",
    "customerProfileId": "XXXXX"
  },
  "refId": "cf9a527a7c56e0073545",  <-- refId is correct here
  "subscriptionId": "7613886"
}

 

But the webhook notification looked like (with no merchantReferenceId):


{

  "eventDate": "2021-08-17T23:22:56.7045095Z",

  "eventType": "net.authorize.customer.subscription.created",

  "notificationId": "cad8db51-c4ad-4c6f-a932-08fd0f36c74a",

  "payload": {

    "amount": 5.49,

    "entityName": "subscription",

    "id": "7613886",

    "name": "",

    "profile": {

      "customerPaymentProfileId": XXXX,

      "customerProfileId": XXXX

    },

    "status": "active"

  },

  "webhookId": "43f62dfa-6deb-483d-a031-060a006bfd3e"

}