# Update an incomplete payment demand to prepare it for processing Endpoint: PATCH /v2/payment_demands/{id} Version: 1.0 Security: bearerAuth ## Path parameters: - `id` (string, required) the identifier of the record ## Query parameters: - `fields` (string) sparse fieldsets: fields[TYPE]=field1,field2,... - `include` (string) list of included related resources ## Header parameters: - `User-Agent` (string, required) The name and version of the client making the request Example: "CHOAM EPT Client v10191 (Ruby Client v3)" ## Response 200 fields (application/vnd.api+json): - `data` (object) A Payment Demand instance signifies an attempt to transfer money from a customer's payment method to your Edge merchant account. A payment demand optionally belongs to a customer, but it is recommended to associate a payment demand with the customer. Customer payment demand history can be used as evidence in case of a chargeback or dispute. ### Pre-authorization / Hold Pre-authorization holds a certain amount from the customer's card. Such authorizations must be captured within 7 days time, or the hold will be removed. You can opt into a pre-authorization by creating a payment demand with the capture_method attribute set to manual. ### Refund a payment demand TODO: Fill this out ### Events A payment demand through its lifecycle will emit events. You can listen to these events as webhooks through WebhookSubscription. - payment_demand.created - payment_demand.updated - payment_demand.refunded - payment_demand.succeeded - payment_demand.failed - payment_demand.disputed - payment_demand.deleted Example: {"attributes":{"created_at":"2024-06-06T21:48:33.382755Z","updated_at":"2024-06-06T21:48:33.382755Z"},"id":"e16e0ef8-cb8a-44fe-ad78-ec4a19b8c2f8","links":{},"relationships":{},"type":"payment_demands"} - `data.attributes` (object) Members of the attributes object (attributes) represent information about the resource object in which it's defined. Example: {"created_at":"2024-06-06T21:48:33.382755Z","updated_at":"2024-06-06T21:48:33.382755Z"} - `data.attributes.acs_transaction_eid` (string) The 3DSecure transaction UUID assigned by the issuer - `data.attributes.address_line1_verification` (string) The status of the billing address (Line 1) verification process Enum: "match", "mismatch", "retry", "unavailable", "unverified" - `data.attributes.amount_cents` (integer) The amount of the payment demand in cents - `data.attributes.amount_currency` (string) The currency of the charge (ISO 4217) - `data.attributes.capture_method` (string) Determines whether a manual capture is required after preauthorization or not Enum: "automatic", "manual" - `data.attributes.confirmed` (boolean) Whether the payment should be processed immediately - `data.attributes.created_at` (string) Example: "2024-06-06T21:48:33.382755Z" - `data.attributes.cvc2_check` (string) The status of the CVC verification process Enum: "match", "unprocessed", "missing", "unavailable", "unresponsive" - `data.attributes.description` (string) A description of the charge - `data.attributes.directory_transaction_eid` (string) The 3DSecure transaction UUID assigned by the directory - `data.attributes.discount_cents` (integer) The amount of money given as a discount on the total of the purchase - `data.attributes.eci` (string) The 3DSecure Electronic Commerce Indicator for the verification process - `data.attributes.fee_cents` (integer) - `data.attributes.idempotency_key` (string) A unique value that prevents double charging - `data.attributes.line_items` (array) Itemized list of services or products being paid for in the purchase - `data.attributes.payer_timezone` (string) IANA timezone name of the payer at time of purchase - `data.attributes.postal_code_verification` (string) The status of the billing address (postal code) verification process Enum: "match", "mismatch", "retry", "unavailable", "unverified" - `data.attributes.processor_state` (string) ... Enum: "pending", "processing", "succeeded", "reversed", "refunded", "failed", "disputed" - `data.attributes.purchase_kind` (string) The type of purchase Enum: "order", "invoice" - `data.attributes.purchase_reference` (string) The unique identification for the purchase given by the merchant - `data.attributes.shipping_detail` (object) The purchase shipping details - `data.attributes.succeeded_at` (string) Date and time when the charge succeeded (format iso8601) - `data.attributes.tax_detail` (object) The purchase tax details - `data.attributes.threeds_cryptogram` (string) The 3DSecure cryptogram used for verification - `data.attributes.threeds_status` (string) The status of the 3DSecure verification process - `data.attributes.threeds_version` (string) The 3DSecure Version used for verification - `data.attributes.updated_at` (string) Example: "2024-06-06T21:48:33.382755Z" - `data.id` (string, required) [resource object identifier](https://jsonapi.org/format/#document-resource-object-identification) - `data.links` (object, required) The links of the type Example: {} - `data.relationships` (object) The relationships of the type Example: {} - `data.type` (string, required) [resource object type](https://jsonapi.org/format/#document-resource-object-identification) Enum: "payment_demands" - `jsonapi` (object) An object describing the server's implementation - `jsonapi.meta` (object) Non-standard meta-information that can not be represented as an attribute or relationship. - `jsonapi.meta.authors` (array) A list of all the authors of this work - `jsonapi.meta.copyright` (string) - `jsonapi.version` (string) - `links` (object, required) May contain self, related, or pagination links (first, last, prev, next). - `links.first` (any) A link MUST be represented as either: a string containing the link's URL or a link object. - `links.last` (any) A link MUST be represented as either: a string containing the link's URL or a link object. - `links.next` (any) A link MUST be represented as either: a string containing the link's URL or a link object. - `links.prev` (any) A link MUST be represented as either: a string containing the link's URL or a link object. - `links.related` (any) A link MUST be represented as either: a string containing the link's URL or a link object. - `links.self` (any) A link MUST be represented as either: a string containing the link's URL or a link object. ## Response 422 fields (application/vnd.api+json): - `errors` (array, required) - `errors.code` (string) An application-specific error code, expressed as a string value. - `errors.detail` (string) A human-readable explanation specific to this occurrence of the problem. - `errors.id` (string) A unique identifier for this particular occurrence of the problem. - `errors.links` (object) May contain self, related, or pagination links (first, last, prev, next). - `errors.links.first` (any) A link MUST be represented as either: a string containing the link's URL or a link object. - `errors.links.last` (any) A link MUST be represented as either: a string containing the link's URL or a link object. - `errors.links.next` (any) A link MUST be represented as either: a string containing the link's URL or a link object. - `errors.links.prev` (any) A link MUST be represented as either: a string containing the link's URL or a link object. - `errors.links.related` (any) A link MUST be represented as either: a string containing the link's URL or a link object. - `errors.links.self` (any) A link MUST be represented as either: a string containing the link's URL or a link object. - `errors.meta` (object) Non-standard meta-information that can not be represented as an attribute or relationship. - `errors.meta.authors` (array) A list of all the authors of this work - `errors.meta.copyright` (string) - `errors.source` (object) - `errors.source.parameter` (string) A string indicating which query parameter caused the error. - `errors.source.pointer` (string) A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. /data for a primary data object, or /data/attributes/title for a specific attribute]. - `errors.status` (string) The HTTP status code applicable to this problem, expressed as a string value. - `errors.title` (string) A short, human-readable summary of the problem. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization. - `jsonapi` (object) An object describing the server's implementation - `jsonapi.version` (string) ## Response 400 fields ## Response 401 fields ## Response 403 fields ## Response 404 fields ## Response 406 fields ## Response 409 fields ## Response 415 fields