---
title: "Payment Gateway Process Job Completed"
method: POST
path: "webhooks_paymentGatewayProcessJobCompleted"
---

# Payment Gateway Process Job Completed

`POST webhooks_paymentGatewayProcessJobCompleted` (webhook)

A payment gateway processing job has completed processing

## Payload

- WebhooksPaymentGatewayProcessJobCompletedWebhook
  - `eventType` string, required: The type of the event.
  - `jobId` string, required: The ID of the payment gateway process job that completed.
  - `data` union, required
    - object
      - `jobStatus` 'pending', required: Discriminator value: pending
      - `jobId` string, required: The job ID of the payment gateway processing job
      - `createdAt` string, date-time, required: The timestamp when the job was created
      - `updatedAt` string, date-time, required: The timestamp when the job was last updated
    - object
      - `jobStatus` 'success', required: Discriminator value: success
      - `jobId` string, required: The job ID of the payment gateway processing job
      - `receiptUrl` string: The URL of the receipt that was downloaded from the payment gateway
      - `invoiceAmount` number, double: The invoice amount detected from the payment gateway
      - `gatewayAmount` number, double: The amount displayed on the payment gateway (may include fees)
      - `vendorName` string: The vendor name detected from the payment gateway
      - `requiredData` PaymentGatewayTypesValidatePaymentGatewayRequiredData
        - `needsAccountNumber` boolean: Whether the payment gateway requires an account number to proceed
        - `needsPostalCode` boolean: Whether the payment gateway requires a postal code to proceed
        - `needsEmail` boolean: Whether the payment gateway requires an email address to proceed
        - `needsAccountHolderFirstName` boolean: Whether the payment gateway requires the account holder's first name to proceed
        - `needsAccountHolderLastName` boolean: Whether the payment gateway requires the account holder's last name to proceed
        - `needsFullServiceAddress` boolean: Whether the payment gateway requires a full service address to proceed
        - `needsPhoneNumber` boolean: Whether the payment gateway requires a phone number to proceed
      - `attempts` PaymentGatewayTypesPaymentGatewayAttempt[], required: List of payment gateway attempts for this job
        - `id` string, required: The unique identifier for the payment gateway attempt
        - `status` 'PENDING' | 'COMPLETED' | 'FAILED', required
        - `amount` number, double: The amount processed in this attempt
        - `receiptUrl` string: The URL of the receipt for this attempt
        - `createdAt` string, date-time, required: The timestamp when the attempt was created
      - `createdAt` string, date-time, required: The timestamp when the job was created
      - `updatedAt` string, date-time, required: The timestamp when the job was last updated
    - object
      - `jobStatus` 'failed', required: Discriminator value: failed
      - `jobId` string, required: The job ID of the payment gateway processing job
      - `errorType` 'NO_VALID_PAYMENT_GATEWAY_FOUND' | 'PAYMENT_GATEWAY_UNSUPPORTED' | 'CARD_DETAILS_INVALID' | 'CARD_DECLINED' | 'INVOICE_AMOUNT_MISMATCH', required
      - `errorMessage` string: The error message that occurred during the payment gateway processing job
      - `createdAt` string, date-time, required: The timestamp when the job was created
      - `updatedAt` string, date-time, required: The timestamp when the job was last updated

## Acknowledgement `200`

Webhook received successfully

---

[API](https://skmtc.dev/mercoa/apis/mercoa-2.md) - [All operations](https://skmtc.dev/mercoa/apis/mercoa-2/llms.txt) - [OpenAPI document](https://skmtc.dev/mercoa/apis/mercoa-2/revisions/00a8e403ae18?raw)
