Delete a contract file

Credentials

Deletes a file you uploaded to a contract. Only the seller who uploaded the file can delete it (error 385).

Send Content-Type: application/json and a JSON body that isn't empty, for example {"confirm": true}. A DELETE without a JSON body fails with error 900 or 901.

If the contract has no file with this invoice_guid, the call returns success (status_code 0) and deletes nothing.

Errors

HTTP status Error code Message When
400 251 Seller was not found The PayMe-Merchant-Key header is missing. status_additional_info is the header name.
400 385 Action not allowed - please contact Customer Support This seller is neither side of the contract. status_additional_info is the seller key.
400 385 Action not allowed - please contact Customer Support This seller may not delete this file.
500 251 Seller was not found The seller key is unknown.
500 163 Account settings problem - please contact Customer Support The seller is not active.
500 380 Payment contract not found No contract has this GUID. status_additional_info is the GUID.
500 900 Please provide all required information in JSON format. Make sure to include 'Content-Type: application/json' header The request is not JSON.
500 901 Please verify that the JSON provided is valid The JSON body is empty or invalid.

Parameters

Name In Type Required Description
PayMe-Merchant-Key header string yes Your seller_payme_id (MPL). You must be the seller that uploaded the file.
payment_contract_guid path string yes The contract's guid, as returned when the contract was created, e.g. CONT1700-000000AA-EXAMPLE1-CONT0001. It already starts with CONT; don't add another prefix.
invoice_guid path string yes The file's id (INV…), as returned by Upload contract files or List contract files.

Request body

Content type: application/json

Required: any JSON object that isn't empty, e.g. {"confirm": true}. PayMe doesn't read its content.

Request example

{
  "confirm": true
}

Code samples

curl

curl -X DELETE 'https://sandbox.payme.io/api/payment-contracts/<payment_contract_guid>/invoices/<invoice_guid>' \
  -H 'Content-Type: application/json' \
  -H 'PayMe-Merchant-Key: <PayMe-Merchant-Key>' \
  --data-raw '{
  "confirm": true
}'

Node.js

const response = await fetch("https://sandbox.payme.io/api/payment-contracts/<payment_contract_guid>/invoices/<invoice_guid>", {
  method: "DELETE",
  headers: {
    "Content-Type": "application/json",
    "PayMe-Merchant-Key": "<PayMe-Merchant-Key>",
  },
  body: JSON.stringify({
    "confirm": true
  }),
});

console.log(await response.text());

Python

import requests

response = requests.delete(
    "https://sandbox.payme.io/api/payment-contracts/<payment_contract_guid>/invoices/<invoice_guid>",
    headers={
        "PayMe-Merchant-Key": "<PayMe-Merchant-Key>",
    },
    json={
        "confirm": True,
    },
)

print(response.text)

PHP

<?php

$body = <<<'BODY'
{
  "confirm": true
}
BODY;

$ch = curl_init('https://sandbox.payme.io/api/payment-contracts/<payment_contract_guid>/invoices/<invoice_guid>');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'DELETE',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Content-Type: application/json',
        'PayMe-Merchant-Key: <PayMe-Merchant-Key>',
    ],
    CURLOPT_POSTFIELDS => $body,
]);

$response = curl_exec($ch);
curl_close($ch);

echo $response;

Responses

200 — The file was deleted, or the contract has no file with this invoice_guid. (success)

Field Type Description
status_code integer 0 on success.
session string PayMe session ID. Quote it when you contact PayMe support.
{
  "status_code": 0,
  "session": "FhT3aXe7"
}

400 — Bad Request (error)

Field Type Description
status_code number Status code 1 (for failure)
status_error_details string What caused the error
status_additional_info string The parameters related to the error
status_error_code number Status error code
session string PayMe session ID.
{
  "status_code": 1,
  "status_error_details": "Seller was not found",
  "status_additional_info": "PayMe-Merchant-Key",
  "status_error_code": 251,
  "session": "FhT3aXe7"
}

500 — Internal Server Error (error)

Field Type Description
status_code number Status code 1 (for failure)
status_error_details string What caused the error
status_additional_info string The parameters related to the error
status_error_code number Status error code
session string PayMe session ID.
{
  "status_code": 1,
  "status_error_details": "Seller was not found",
  "status_additional_info": "seller_payme_id",
  "status_error_code": 251,
  "session": "FhT3aXe7"
}