Payment Feedback from One Inc

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

Overview

Webhook endpoint that OneInc calls to report payment status changes for payout orders. This is the second webhook in the OneInc payout sequence — it arrives after OneIncAcknowledgePaymentMethod and reports whether the ACH transfer succeeded, failed, was voided, etc.

Trigger: OneInc sends an HTTP POST to this endpoint whenever a payment's status changes. Origami does not call this endpoint — it only receives it.

What happened before this endpoint is called:

  1. Origami initiated a payout through OneInc (either directly via CreditBankAccount or indirectly after OneIncAcknowledgePaymentMethod saved a token and kicked off the payout)
  2. OneInc began processing the ACH transfer
  3. The payment's status changed (e.g., submitted to gateway, issued, completed, errored)
  4. Now OneInc calls this endpoint to notify Origami of the new status

What this endpoint does when called:

  1. Looks up the OnlineOrder by PM_CR_PaymentID (which is the OnlineOrderID)
  2. Maps OneInc's PM_Status string to an internal Origami order status
  3. If the status changed: creates a transaction record and updates the order
  4. If the new status is Success: sets PaidAmount and PaidDate on the order
  5. If the new status is Error: stores the error details on the order
  6. Returns "Payment feedback acknowledged successfully"

Key difference from OneIncAcknowledgePaymentMethod: That webhook fires once — when a customer provides their bank details. This webhook can fire multiple times over the life of a payment as it moves through statuses (submitted → issued → success, or submitted → error, etc.).

When to Use This Endpoint

This endpoint is a webhook target. You don't call it — you configure its URL in OneInc's dashboard so OneInc knows where to send payment status updates.

Prerequisites for this webhook to be called:

  • OneInc integration configured in Origami (OnlinePaymentProvider = "OneInc")
  • A payout was initiated through OneInc (via CreditBankAccount API call)
  • An OnlineOrder exists with a valid OnlineOrderID that was passed to OneInc
Body Params
json
required
Defaults to { "Id": "string", "SessionId": "string", "Type": "string", "Timestamp": "2025-12-14T01:27:11.530Z", "Data": { "PM_CR_PaymentID": "string", "PM_IP_PaymentID": "string", "PM_Amount": 0, "PM_Funded": true, "PM_Status": "string", "PM_PaidDate": "string", "PM_ClearedDate": "string", "PM_EscheatDate": "string", "PM_CheckNumber": "string", "PM_CheckPrintDate": "string", "PM_MailTrackingNumber": "string", "PM_MethodID": "string", "PM_Monitored": "string", "PM_RejectPayeeId": "string", "PM_RejectReason": "string", "PM_New_Method": "string", "PM_Orig_Method": "string", "PM_Selection": "string", "PM_Method_Last4Digit": "string", "PM_ReIssue": "string", "PM_ErrorCode": "string", "PM_ErrorMessage": "string", "PM_CarrierId": "string", "PM_ENV": "string" } }

This request body is constructed and sent by OneInc. You receive and process it. You don't build it.

The payload structure is defined by OneInc's API (their "PayMaker" or payment status webhook). The example provided here is for reference only.

Responses
200

Language
Credentials
Header
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json