# Update the description, currency, price, and/or charge of this face-to-face transaction

Endpoint: PATCH /api/v1/p2p/transactions/{transaction_id}
Version: 0.1.0
Security: OAuth2, APIKey

## Header parameters:

  - `Trustap-User` (string)
    Required in client flows, where you make API calls on behalf of another Trustap user.

## Path parameters:

  - `transaction_id` (integer, required)

## Request fields (application/json):

  - `currency` (string)
    Enum: "aud", "eur", "gbp", "myr", "pln", "sek", "usd", "huf"

  - `deposit_charge` (integer)
    Example: 78

  - `deposit_price` (integer)
    Example: 1234

  - `deposit_price_extra` (integer)
    Example: 500

  - `deposit_price_postage` (integer)
    Represents the postage/shipping cost to be paid by the buyer.
Must be an integer provided in the smallest unit of the currency
(for example, 500 for $5.00 USD).

  - `description` (string)
    A description of the goods being sold.
    Example: "Soccer ticket"

## Response 200 fields (application/json):

  - `amount_refunded` (integer)

  - `amount_released` (integer)

  - `buyer_handover_confirmed` (string)
    Example: "2019-12-25T16:00:00Z"

  - `buyer_id` (string)
    Example: "feb33a87-3917-4538-9260-127c8a6b5232"

  - `buyer_is_guest` (boolean)

  - `cancellation` (object)

  - `cancellation.reason` (string, required)

  - `cancelled` (string)

  - `charge_config` (integer)
    Example: 1

  - `claimed_by_buyer` (string)

  - `claimed_by_seller` (string)

  - `client_accrual_net` (integer)

  - `client_id` (string, required)
    Example: "trustap-app"

  - `complained` (string)

  - `complaint` (object)
    Example: {"description":"Item was fake"}

  - `complaint.accepted` (string)

  - `complaint.description` (string, required)
    Example: "Item was fake"

  - `complaint_period_deadline` (string)

  - `complaint_period_ended` (string)

  - `contains_shipping` (boolean)

  - `created` (string, required)
    Example: "2019-12-25T09:00:00Z"

  - `currency` (string, required)
    The currency of the transaction. Note that, at present, the
buyer must pay using the transaction's currency and the
seller will be paid in the transaction's currency.
    Example: "eur"

  - `delivered` (string)

  - `deposit_accepted` (string)
    Example: "2019-12-25T12:00:00Z"

  - `deposit_paid` (string)
    Example: "2019-12-25T11:00:00Z"

  - `deposit_pricing` (object, required)
    Example: {"charge":78,"charge_buyer_client":0,"charge_buyer_service":78,"charge_seller":0,"charge_seller_client":0,"charge_seller_service":0,"extra_processing_charge":0,"postage_processing_charge":0,"price":1234,"price_extra":0}

  - `deposit_pricing.charge` (integer, required)
    The total charge of the transaction paid by the buyer.
This is the sum of charge_buyer_service + charge_buyer_client.
    Example: 78

  - `deposit_pricing.charge_buyer_client` (integer, required)
    Portion of the charge paid by the buyer that is collected as commission for the customer.

  - `deposit_pricing.charge_buyer_service` (integer, required)
    Portion of the charge that has been paid by the buyer that is collected as the Trustap fee.
    Example: 78

  - `deposit_pricing.charge_international_payment` (integer)
    This charge is added to the seller charge if the payment method used in a transaction is from a different economic region to the seller.

  - `deposit_pricing.charge_seller` (integer, required)
    Portion of the charge paid by the seller.
This is the sum of charge_seller_client + charge_seller_service + charge_international_payment.

  - `deposit_pricing.charge_seller_client` (integer, required)
    Portion of the charge deducted from the seller's payout that that is collected as commission for the platform.

  - `deposit_pricing.charge_seller_service` (integer, required)
    Portion of the charge paid by the seller that is collected as the Trustap fee.

  - `deposit_pricing.deposit_fee_multiplier` (object)

  - `deposit_pricing.deposit_fee_multiplier.fee_multiplier` (number, required)

  - `deposit_pricing.extra_processing_charge` (integer, required)
    Fee collected to cover the processing costs associated with price_extra.
This charge is configurable in the Trustap Dashboard and is paid by either the client or the seller.

  - `deposit_pricing.postage_processing_charge` (integer)
    Fee collected to cover the processing costs associated with price_postage.
This charge is configurable in the Trustap Dashboard and is paid by either the client or the seller.

  - `deposit_pricing.price` (integer, required)
    The base price of the item or service in the transaction.
    Example: 1234

  - `deposit_pricing.price_extra` (integer, required)
    This field adds an additional cost to the transaction.
Use it to charge a buyer for things like tax or fulfillment costs.
The price_extra field is separate from the price` field. This separation displays the additional cost apart from the base price on the Trustap payment page.
It also helps clients track the breakdown of charges.

  - `deposit_pricing.price_postage` (integer)
    This field adds an additional cost to the transaction.
Use it to charge a buyer for things like shipping costs.
The price_postage field is separate from the price` field. This separation displays the additional cost apart from the base price on the Trustap payment page.
It also helps clients track the breakdown of charges.

  - `deposit_refunded` (string)

  - `deposit_review` (object)

  - `deposit_review.approved` (boolean)

  - `deposit_review.finished` (string)

  - `deposit_review.outcome_reason` (string)

  - `deposit_review.started` (string)

  - `deposit_review_flagged` (string)

  - `description` (string, required)
    Example: "Soccer ticket"

  - `funds_released` (string)
    Example: "2019-12-25T17:00:00Z"

  - `id` (integer, required)
    Example: 1309

  - `image_url` (string)
    URL of the image displayed on the Trustap payment page to show the buyer
the item they are paying for.
Supports jpg, png, gif, bmp and svg files. Images displayed as a squares.
Non-square images are cropped

  - `is_deposit_payment_in_progress` (boolean, required)
    If the deposit is paid via a delayed payment method,
such as SEPA debit, this field will be true until the
payment has fully succeeded or failed.

  - `is_remainder_payment_in_progress` (boolean, required)
    If the remainder is paid via a delayed payment method,
such as SEPA debit, this field will be true until the
payment has fully succeeded or failed.

  - `join_code` (string)

  - `joined` (string)
    Example: "2019-12-25T10:00:00Z"

  - `listing_id` (string)
    If the transaction is created from a listing then this is
the ID of that listing; otherwise this property is omitted.

  - `listing_type` (string)
    Enum: "single_use", "multi_use"

  - `metadata` (object)
    Arbitrary key-value string pairs, which allows the addition of extra
information to transactions outside of the prescribed fields. For
example, when a transaction is used to power a product on an ecommerce
marketplace, the the product ID can be added to the transaction for
reference.

  - `order_issue` (object)
    Example: {"description":"Item was not delivered"}

  - `order_issue.description` (string, required)
    Example: "Item was not delivered"

  - `order_issue_raised` (string)

  - `price_postage_bearer` (string)
    The party responsible for bearing the postage cost.
Only present when price_postage is defined.
Possible values: buyer, seller, client.

  - `priced` (string)
    Example: "2019-12-25T13:00:00Z"

  - `pricing` (object)
    Example: {"charge":78,"charge_buyer_client":0,"charge_buyer_service":78,"charge_seller":0,"charge_seller_client":0,"charge_seller_service":0,"extra_processing_charge":0,"postage_processing_charge":0,"price":1234,"price_extra":0}

  - `quantity` (integer, required)
    Example: 1

  - `refunded` (string)

  - `refunds` (array)

  - `refunds.amount` (integer, required)

  - `refunds.id` (string, required)

  - `refunds.refunded` (string, required)

  - `rejected` (string)

  - `released_to_seller` (boolean)

  - `remainder_paid` (string)
    Example: "2019-12-25T14:00:00Z"

  - `remainder_review` (object)

  - `remainder_review_flagged` (string)

  - `remainder_skipped` (string)

  - `seller_handover_confirmed` (string)
    Example: "2019-12-25T15:00:00Z"

  - `seller_id` (string)
    Example: "ad5bb99f-85bf-47e1-be0d-15e7541c6ad7"

  - `seller_is_guest` (boolean)

  - `seller_phone_number` (string)

  - `skip_remainder` (boolean, required)
    If skip_remainder is true then this transaction will
move to the "confirm handover" step after the deposit has
been accepted.

  - `status` (string, required)
    Example: "funds_released"

  - `tracked` (string)

  - `tracking` (object)
    Example: {"carrier":"ups","tracking_code":"***"}

  - `tracking.carrier` (string, required)
    Example: "ups"

  - `tracking.tracking_code` (string, required)
    Example: "***"

## Response 400 fields (application/json):

  - `code` (string, required)
    Example: "negative_price"

  - `error` (string, required)
    A contextual description of the error that occurred. When
handling errors the code field should be used to determine
the type of error that occurred, as the text in the error
field may change unexpectedly.
    Example: "`price` cannot be negative"


## Response 403 fields

## Response 404 fields
