Primer notifies you with a PAYMENT.STATUS webhook when a payment's status has been updated. This is especially useful for asyncronous processor Connections, which do not respond with an upfront authorization.

The webhook events will arrive in the order that the payment status changes, for example you should expect a status of PENDING, then AUTHORIZED, then SETTLED (depending on how your workflow is set up).

The webhook body contains the full payment object.

Example payment status notification:

{
  "eventType":"PAYMENT.STATUS",
  "date":"2021-02-21T15:36:16.367687",
  "notificationConfig":{
      "id":"cc51f9f0-7e1c-492b-9d37-f83a818f6070",
      "description":"Payment webhook"
  },
  "version":"2.1",
  "payment":{
      "id":"DdRZ6YY0",
      "date":"2022-01-01T12:12:12.000000",
      "amount":3000,
      "currencyCode":"GBP",
      "customerId":"cust-123",
      "orderId":"order-123",
      "status":"SETTLED",
      "paymentMethod":{
        "paymentMethodToken":"-lcWjvBAAs2DnIRXwxNjUzNTYzNjIy",
        "analyticsId":"LUi5pETUaVsdSEamK25L",
        "paymentMethodType":"PAYMENT_CARD",
        "paymentMethodData":{
            "last4Digits":"1111",
            "expirationMonth":"03",
            "expirationYear":"2030",
            "cardholderName":"ADYEN",
            "network":"Visa",
            "isNetworkTokenized":false,
            "binData":{
              "network":"VISA",
              "issuerCountryCode":"US",
              "issuerName":"JPMORGAN CHASE BANK, N.A.",
              "regionalRestriction":"UNKNOWN",
              "accountNumberType":"UNKNOWN",
              "accountFundingType":"UNKNOWN",
              "prepaidReloadableIndicator":"NOT_APPLICABLE",
              "productUsageType":"UNKNOWN",
              "productCode":"UNKNOWN",
              "productName":"UNKNOWN"
            },
            "cvvAvailable":true
        },
        "threeDSecureAuthentication":{
            "responseCode":"NOT_PERFORMED"
        }
      },
      "processor":{
        "name":"STRIPE",
        "processorMerchantId":"acct_1GORasdasqNWFwi8c",
        "amountCaptured":3000,
        "amountRefunded":0
      },
      "transactions":[
        {
            "date":"2022-05-26T11:14:11.946300",
            "amount":3000,
            "currencyCode":"GBP",
            "transactionType":"SALE",
            "processorTransactionId":"pi_3L3edsGZasdasdc1iget38p",
            "processorName":"STRIPE",
            "processorMerchantId":"acct_1GORasvasdNWFwi8c",
            "processorStatus":"SETTLED"
        }
      ]
  }
}

Learn more about how Primer handles webhooks.

Language
Authentication
Header
URL
Click Try It! to start a request and see the response here!