{"openapi":"3.1.0","info":{"title":"Payments","version":"1.0.0","description":"API reference for accepting payments with PayMe — sales via hosted payment page, hosted fields or direct API, tokens, subscriptions, refunds and captures, 3D Secure, invoices and point-of-sale. Start with Getting Started for credentials, environments and a first sale."},"servers":[{"url":"https://sandbox.payme.io/api","description":"Sandbox"},{"url":"https://live.payme.io/api","description":"Production"}],"components":{"securitySchemes":{"merchantKey":{"type":"apiKey","in":"header","name":"PayMe-Merchant-Key"},"partnerKey":{"type":"apiKey","in":"header","name":"PayMe-Partner-Key"},"publicKey":{"type":"apiKey","in":"header","name":"PayMe-Public-Key"},"signature":{"type":"apiKey","in":"header","name":"PayMe-Signature"}}},"tags":[{"name":"Post Sale Actions"}],"paths":{"/refund-sale":{"post":{"operationId":"post-refund-sale","summary":"Refund a sale","tags":["Post Sale Actions"],"description":"2 actions use this endpoint, each with its own page and example:\n\n- [Refund a sale](/payments/post-sale-actions/post-refund-sale): Refunds a paid sale, in full or in part.\n- [Void an authorization](/payments/post-sale-actions/void-sale): Releases the hold of an authorized sale, in full or in part.","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"payme_client_key":{"type":"string","description":"Partners: your partner key. You can send it in the `PayMe-Partner-Key` header instead. A seller leaves it out."},"seller_payme_id":{"type":"string","description":"The seller's MPL. Required unless you send `seller_id` with `payme_client_key`. You can send it in the `PayMe-Merchant-Key` header instead."},"seller_id":{"type":"string","description":"Partners: your own ID for the seller (the `seller_id` you set when you created it). Send it with `payme_client_key` instead of `seller_payme_id`."},"payme_sale_id":{"type":"string","description":"The sale to refund: PayMe's sale ID, or your own `transaction_id` for that sale."},"sale_refund_amount":{"type":"integer","description":"Amount to refund, in minor units (`1000` = 10.00). Leave it out to refund everything that is left. Never send `0`. A partial amount must be at least the account's minimum sale value (500 by default)."},"verify_only":{"type":"boolean","description":"`true` to check the call without making it: PayMe validates the request and returns the amounts, but changes nothing and sends no callback. Default `false`."},"language":{"type":"string","description":"Language of error messages: `en`, or `he` (the default). `es`, `ru` and `ar` are accepted, but messages then come back mostly in English. Any other value returns error `51`."}},"required":["payme_sale_id"],"title":"Refund a sale"},{"type":"object","properties":{"payme_client_key":{"type":"string","description":"Partners: your partner key. You can send it in the `PayMe-Partner-Key` header instead. A seller leaves it out."},"seller_payme_id":{"type":"string","description":"The seller's MPL. Required unless you send `seller_id` with `payme_client_key`. You can send it in the `PayMe-Merchant-Key` header instead."},"seller_id":{"type":"string","description":"Partners: your own ID for the seller (the `seller_id` you set when you created it). Send it with `payme_client_key` instead of `seller_payme_id`."},"payme_sale_id":{"type":"string","description":"The authorized sale."},"sale_refund_amount":{"type":"integer","description":"Amount of the hold to release, in minor units (`1000` = 10.00). Leave it out to release the whole hold. A partial amount must be at least the account's minimum sale value (500 by default)."},"verify_only":{"type":"boolean","description":"`true` to check the call without making it: PayMe validates the request and returns the amounts, but changes nothing and sends no callback. Default `false`."},"language":{"type":"string","description":"Language of error messages: `en`, or `he` (the default). `es`, `ru` and `ar` are accepted, but messages then come back mostly in English. Any other value returns error `51`."}},"required":["payme_sale_id"],"title":"Void an authorization"}]},"examples":{"post-refund-sale":{"summary":"Refund a sale","description":"Refunds a paid sale, in full or in part.","value":{"seller_payme_id":"MPLDEMO-MPLDEMO-MPLDEMO-1234567","payme_sale_id":"SALEDEMO-XXXXXXXX-XXXXXXXX-XXXXXXXX","sale_refund_amount":1000,"language":"en"}},"void-sale":{"summary":"Void an authorization","description":"Releases the hold of an authorized sale, in full or in part.","value":{"seller_payme_id":"MPLDEMO-MPLDEMO-MPLDEMO-1234567","payme_sale_id":"SALEDEMO-XXXXXXXX-XXXXXXXX-XXXXXXXX","language":"en"}}}}}},"responses":{"200":{"description":"The refund was made (or, with `verify_only`, would be accepted).","x-response-kind":"success","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"status_code":{"type":"integer","description":"`0`: success."},"status_error_code":{"type":"integer","description":"`0` on success."},"payme_status":{"type":"string","description":"`success`."},"refunded_from_creditcard":{"type":"boolean","description":"`true` when the seller's balance didn't cover the refund and PayMe took the shortfall from the seller's card on file."},"sale_invoice_number":{"type":"string","description":"Number of the credit document, when the invoicing service is active on the account; otherwise `null`."},"sale_invoice_url":{"type":"string","description":"Link to the credit document, when the invoicing service is active on the account; otherwise `null`."},"sale_refund_buffer":{"type":"integer","description":"Amount still left to refund, in minor units."},"sale_status":{"type":"string","description":"The sale's status after the refund: `refunded`, or `partial-refund` after a partial refund."},"payme_transaction_total":{"type":"integer","description":"Amount refunded to the buyer, in minor units."},"payme_transaction_total_aft_deduction":{"type":"integer","description":"Amount taken from the seller for this refund, after fees, in minor units."},"payme_transaction_id":{"type":"string","description":"PayMe's ID of the refund transaction. `null` when `verify_only` is `true`."},"payme_transaction_card_brand":{"type":"string","description":"Card brand. `null` when `verify_only` is `true`."},"payme_transaction_auth_number":{"type":"string","description":"Authorization number from the card issuer. `null` when `verify_only` is `true`."},"payme_transaction_voucher":{"type":"string","description":"Voucher number. `null` when `verify_only` is `true`."},"payme_signature":{"type":"string","description":"PayMe's signature for the transaction. `null` when `verify_only` is `true`."},"payme_transaction_acquirer":{"type":"string","description":"The acquirer, or `null`."},"payme_transaction_arn":{"type":"string","description":"Acquirer reference (EMV UID) when the acquirer returns one; usually `null`. Not returned when `verify_only` is `true`."},"session":{"type":"string","description":"PayMe's ID for this request. Quote it when you contact PayMe."}},"title":"Refund a sale"},{"type":"object","properties":{"status_code":{"type":"integer","description":"`0`: success."},"status_error_code":{"type":"integer","description":"`0` on success."},"payme_status":{"type":"string","description":"`success`."},"refunded_from_creditcard":{"type":"boolean","description":"Always `false` on a void."},"sale_invoice_number":{"type":"string","description":"Number of the credit document, when the invoicing service is active on the account; otherwise `null`."},"sale_invoice_url":{"type":"string","description":"Link to the credit document, when the invoicing service is active on the account; otherwise `null`."},"sale_refund_buffer":{"type":"integer","description":"The part of the hold that is still authorized, in minor units."},"sale_status":{"type":"string","description":"The sale's status after the call: `voided`, or `partial-void` after a partial void."},"payme_transaction_total":{"type":"integer","description":"Amount released from the hold, in minor units."},"payme_transaction_total_aft_deduction":{"type":"integer","description":"Same as `payme_transaction_total` on a void."},"payme_transaction_id":{"type":"string","description":"PayMe's ID of the void transaction. `null` when `verify_only` is `true`."},"payme_transaction_card_brand":{"type":"string","description":"Card brand. `null` when `verify_only` is `true`."},"payme_transaction_auth_number":{"type":"string","description":"Authorization number from the card issuer. `null` when `verify_only` is `true`."},"payme_transaction_voucher":{"type":"string","description":"Voucher number. `null` when `verify_only` is `true`."},"payme_signature":{"type":"string","description":"PayMe's signature for the transaction. `null` when `verify_only` is `true`."},"payme_transaction_acquirer":{"type":"string","description":"The acquirer, or `null`."},"payme_transaction_arn":{"type":"string","description":"Acquirer reference (EMV UID) when the acquirer returns one; usually `null`. Not returned when `verify_only` is `true`."},"session":{"type":"string","description":"PayMe's ID for this request. Quote it when you contact PayMe."}},"title":"Void an authorization"}]},"examples":{"post-refund-sale":{"summary":"Refund a sale","description":"Refunds a paid sale, in full or in part.","value":{"status_code":0,"status_error_code":0,"payme_status":"success","refunded_from_creditcard":false,"sale_invoice_number":null,"sale_invoice_url":null,"sale_refund_buffer":9000,"sale_status":"partial-refund","payme_transaction_total":1000,"payme_transaction_total_aft_deduction":1000,"payme_transaction_id":"TRANDEMO-XXXXXXXX-XXXXXXXX-XXXXXXXX","payme_transaction_card_brand":"Mastercard","payme_transaction_auth_number":"72****4","payme_transaction_voucher":"24****9","payme_signature":"b71e**************ca5a","payme_transaction_acquirer":null,"payme_transaction_arn":null,"session":"Ab12Cd34"}},"void-sale":{"summary":"Void an authorization","description":"Releases the hold of an authorized sale, in full or in part.","value":{"status_code":0,"status_error_code":0,"payme_status":"success","refunded_from_creditcard":false,"sale_invoice_number":null,"sale_invoice_url":null,"sale_refund_buffer":0,"sale_status":"voided","payme_transaction_total":10000,"payme_transaction_total_aft_deduction":10000,"payme_transaction_id":"TRANDEMO-XXXXXXXX-XXXXXXXX-XXXXXXXX","payme_transaction_card_brand":"Mastercard","payme_transaction_auth_number":"72****4","payme_transaction_voucher":"24****9","payme_signature":"b71e**************ca5a","payme_transaction_acquirer":null,"payme_transaction_arn":null,"session":"Ab12Cd34"}}}}}},"400":{"description":"Error `1`: no seller named (a partner key on its own). Error `352`: `sale_refund_amount` isn't a positive number. Error `357`: this sale type can't be refunded, for example a customer deposit. Error `20`: the seller doesn't belong to the partner key sent.","x-response-kind":"error","content":{"application/json":{"schema":{"type":"object","properties":{"status_code":{"type":"integer","description":"`1`: the request failed."},"status_error_code":{"type":"integer","description":"PayMe's error code. See [Errors](/payments/getting-started/errors)."},"status_error_details":{"type":"string","description":"The error message, in the language you asked for."},"status_additional_info":{"type":"string","description":"Extra detail: usually the field at fault, the sale's current status, or the masked card number."},"session":{"type":"string","description":"PayMe's ID for this request. Quote it when you contact PayMe."}}},"examples":{"post-refund-sale":{"summary":"Refund a sale","description":"Refunds a paid sale, in full or in part.","value":{"status_code":1,"status_error_details":"Required parameter is missing","status_additional_info":"seller_payme_id","status_error_code":1,"session":"Ab12Cd34"}},"void-sale":{"summary":"Void an authorization","description":"Releases the hold of an authorized sale, in full or in part.","value":{"status_code":1,"status_error_details":"Authorization cannot be voided","status_additional_info":"","status_error_code":369,"session":"Ab12Cd34"}}}}}},"403":{"description":"Error `303`: the sale belongs to another partner or another seller.","x-response-kind":"error","content":{"application/json":{"schema":{"type":"object","properties":{"status_code":{"type":"integer","description":"`1`: the request failed."},"status_error_code":{"type":"integer","description":"PayMe's error code. See [Errors](/payments/getting-started/errors)."},"status_error_details":{"type":"string","description":"The error message, in the language you asked for."},"status_additional_info":{"type":"string","description":"Extra detail: usually the field at fault, the sale's current status, or the masked card number."},"session":{"type":"string","description":"PayMe's ID for this request. Quote it when you contact PayMe."}}},"examples":{"post-refund-sale":{"summary":"Refund a sale","description":"Refunds a paid sale, in full or in part.","value":{"status_code":1,"status_error_details":"Could not access sale","status_additional_info":"","status_error_code":303,"session":"Ab12Cd34"}},"void-sale":{"summary":"Void an authorization","description":"Releases the hold of an authorized sale, in full or in part.","value":{"status_code":1,"status_error_details":"Could not access sale","status_additional_info":"","status_error_code":303,"session":"Ab12Cd34"}}}}}},"429":{"description":"Error `998`: another call for this sale is still running. Wait, then check the sale before retrying.","x-response-kind":"error","content":{"application/json":{"schema":{"type":"object","properties":{"status_code":{"type":"integer","description":"`1`: the request failed."},"status_error_code":{"type":"integer","description":"PayMe's error code. See [Errors](/payments/getting-started/errors)."},"status_error_details":{"type":"string","description":"The error message, in the language you asked for."},"status_additional_info":{"type":"string","description":"Extra detail: usually the field at fault, the sale's current status, or the masked card number."},"session":{"type":"string","description":"PayMe's ID for this request. Quote it when you contact PayMe."}}},"examples":{"post-refund-sale":{"summary":"Refund a sale","description":"Refunds a paid sale, in full or in part.","value":{"status_code":1,"status_error_details":"Operation is not permitted","status_additional_info":"Duplicated action detected, please retry later","status_error_code":998,"session":"Ab12Cd34"}}}}}},"500":{"description":"Request errors. `1`: a required field is missing. `200`: unknown partner key. `251`: unknown seller. `350`: no sale has this ID. `305`: the sale isn't `completed` or `partial-refund` (its status is in `status_additional_info`). `309`: already fully refunded. `352`: the amount is outside the account's limits. `503`: more than what is left to refund. `517`: more than the sale price. `4`: POS, eCheck or Verifone prepaid sale.","x-response-kind":"error","content":{"application/json":{"schema":{"type":"object","properties":{"status_code":{"type":"integer","description":"`1`: the request failed."},"status_error_code":{"type":"integer","description":"PayMe's error code. See [Errors](/payments/getting-started/errors)."},"status_error_details":{"type":"string","description":"The error message, in the language you asked for."},"status_additional_info":{"type":"string","description":"Extra detail: usually the field at fault, the sale's current status, or the masked card number."},"session":{"type":"string","description":"PayMe's ID for this request. Quote it when you contact PayMe."}}},"examples":{"post-refund-sale":{"summary":"Refund a sale","description":"Refunds a paid sale, in full or in part.","value":{"status_code":1,"status_error_details":"Cannot perform action due to an incorrect status","status_additional_info":"chargeback","status_error_code":305,"session":"Ab12Cd34"}},"void-sale":{"summary":"Void an authorization","description":"Releases the hold of an authorized sale, in full or in part.","value":{"status_code":1,"status_error_details":"Cannot perform action due to an incorrect status","status_additional_info":"completed","status_error_code":305,"session":"Ab12Cd34"}}}}}}}}},"/capture-sale":{"post":{"operationId":"post-capture-sale","summary":"Capture an authorized sale","tags":["Post Sale Actions"],"description":"## Overview\n\nCharges a sale that was authorized with `sale_type: \"authorize\"`. Capture once, for the authorized amount or less, within 7 days of the authorization. To capture in several parts, use [multi-capture](/accepting-payments/capture-and-saved-cards/multi-capture). The whole flow is in [Authorize now, capture later](/accepting-payments/capture-and-saved-cards/capture-sale).\n\n### Credentials\n\nThe same as [`refund-sale`](/payments/post-sale-actions/post-refund-sale): send `seller_payme_id`, or `seller_id` with your partner key (`payme_client_key`). A partner key on its own fails with error `1`. The sale must belong to the seller you name.\n\n### Rules\n\n- The sale must be `authorized`. A sale whose capture was declined (`failed`) can be captured again while the authorization is still valid. Any other status returns error `305`, with the status in `status_additional_info`.\n- Leave out `sale_price` to capture the full authorized amount; send a lower `sale_price` to capture less.\n- `sale_price` must be at least the account's minimum sale value (500 by default) and at most the authorized amount, unless PayMe has set a higher capture limit on your account. `0` or an amount outside these limits returns `352`; a decimal returns `42`.\n- More than 7 days (168 hours) after the authorization, the call fails with `516`. The error doesn't release the hold: void it with [`refund-sale`](/payments/post-sale-actions/void-sale).\n- `518` means the sale's authorization is no longer open, for example because the authorization failed.\n\n\n\n### Result\n\nA successful capture returns the sale with `sale_status: \"completed\"`, and PayMe sends a `sale-complete` callback. A declined capture returns HTTP 200 with `status_code: 1`, `status_error_code` and `status_error_details`, and the sale becomes `failed`; you can retry while the authorization is still valid and within the 7 days. ","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"payme_client_key":{"type":"string","description":"Partners: your partner key. You can send it in the `PayMe-Partner-Key` header instead. A seller leaves it out."},"seller_payme_id":{"type":"string","description":"The seller's MPL. Required unless you send `seller_id` with `payme_client_key`."},"seller_id":{"type":"string","description":"Partners: your own ID for the seller (the `seller_id` you set when you created it). Send it with `payme_client_key` instead of `seller_payme_id`."},"payme_sale_id":{"type":"string","description":"The authorized sale."},"sale_price":{"type":"integer","description":"Amount to capture, in minor units (`10000` = 100.00). Leave it out to capture the full authorized amount. At least the account's minimum sale value (500 by default); at most the authorized amount, unless PayMe has set a higher capture limit on your account."},"installments":{"type":"integer","description":"Number of installments, `1`–`36`. Leave it out to keep the sale's installments."},"transaction_id":{"type":"string","description":"Your own reference for the sale. Replaces the `transaction_id` you sent on `generate-sale`."},"sale_additional_data":{"type":"object","description":"Extra data to store on the sale."},"language":{"type":"string","description":"Language of error messages: `en`, or `he` (the default). `es`, `ru` and `ar` are accepted, but messages then come back mostly in English. Any other value returns error `51`."}},"required":["payme_sale_id"]},"example":{"seller_payme_id":"MPLDEMO-MPLDEMO-MPLDEMO-1234567","payme_sale_id":"SALEDEMO-XXXXXXXX-XXXXXXXX-XXXXXXXX","sale_price":8000,"language":"en"}}}},"responses":{"200":{"description":"The capture result: captured (`status_code` `0`) or declined (`1`). A decline also returns HTTP 200.","x-response-kind":"success","content":{"application/json":{"schema":{"type":"object","properties":{"status_code":{"type":"integer","description":"`0`: captured. `1`: the capture was declined; the sale is now `failed`."},"status_error_code":{"type":"integer","description":"`0` on success; the decline code when `status_code` is `1`."},"status_error_details":{"type":"string","description":"The decline reason, when `status_code` is `1`."},"payme_status":{"type":"string","description":"Legacy field. Read `status_code` instead."},"payme_sale_id":{"type":"string","description":"The sale's ID."},"payme_sale_code":{"type":"integer","description":"The sale's numeric code."},"sale_created":{"type":"string","description":"When the sale was created, `YYYY-MM-DD HH:MM:SS` (Israel time)."},"sale_status":{"type":"string","description":"The sale's status, for example `completed`, `authorized` or `failed`. See [Sale Statuses](/payments/codes-statuses/sale-statuses)."},"payme_sale_status":{"type":"string","description":"Same as `sale_status`."},"sale_type":{"type":"string","description":"The sale type as responses name it, for example `Sale` (also for an authorization) or `Token`."},"sale_payment_method":{"type":"string","description":"Payment method, for example `credit-card`."},"currency":{"type":"string","description":"Sale currency, an ISO 4217 code such as `ILS`."},"price":{"type":"integer","description":"Sale price in minor units (`10000` = 100.00)."},"transaction_id":{"type":"string","description":"Your own reference for the sale."},"sale_description":{"type":"string","description":"The sale's description."},"sale_deferred_months":{"type":"integer","description":"Deferred months on the sale, or `null`."},"is_token_sale":{"type":"boolean","description":"`true` for a `token` sale, which saves the card without charging it."},"payme_signature":{"type":"string","description":"PayMe's signature for this payment."},"payme_transaction_id":{"type":"string","description":"PayMe's ID of the payment transaction."},"payme_transaction_total":{"type":"string","description":"Amount of the transaction, in minor units."},"payme_transaction_card_brand":{"type":"string","description":"Card brand, for example `Mastercard`."},"payme_transaction_auth_number":{"type":"string","description":"Authorization number from the card issuer."},"payme_transaction_voucher":{"type":"string","description":"Voucher number of the transaction."},"payme_transaction_emv_uid":{"type":"string","description":"EMV UID of the transaction, when the acquirer returns one; usually `null`."},"payme_transaction_acquirer":{"type":"string","description":"The acquirer, for example `PayMe`."},"payme_transaction_auth_source":{"type":"string","description":"Authorization source reported for the transaction."},"payme_transaction_card_issuer":{"type":"string","description":"Card issuer, for example `Isracard`."},"payme_transaction_credit_type":{"type":"string","description":"Credit type, for example `RegularCredit`."},"buyer_name":{"type":"string","description":"Buyer's full name."},"buyer_email":{"type":"string","description":"Buyer's email address."},"buyer_phone":{"type":"string","description":"Buyer's phone number, or `null`."},"buyer_card_mask":{"type":"string","description":"Masked card number, for example `532610******5846`."},"buyer_card_exp":{"type":"string","description":"Card expiry, `MMYY`."},"buyer_card_is_foreign":{"type":"boolean","description":"`true` for a card issued outside Israel."},"buyer_social_id":{"type":"string","description":"Buyer's national ID number, or `null`."},"installments":{"type":"integer","description":"Number of installments."},"transaction_first_payment":{"type":"integer","description":"First installment, in minor units."},"transaction_periodical_payment":{"type":"integer","description":"Each later installment, in minor units; `0` for a single payment."},"transaction_arn":{"type":"string","description":"Acquirer reference (EMV UID) when the acquirer returns one; usually `null`."},"sale_paid_date":{"type":"string","description":"When the payment was made, `YYYY-MM-DD HH:MM:SS` (Israel time)."},"sale_release_date":{"type":"string","description":"Date the funds are released to the seller, `YYYY-MM-DD`, or `null`."},"sale_3ds":{"type":"boolean","description":"`true` when the payment passed 3D Secure."},"session":{"type":"string","description":"PayMe's ID for this request. Quote it when you contact PayMe."}}},"example":{"status_code":0,"status_error_code":0,"payme_status":"success","payme_sale_id":"SALEDEMO-XXXXXXXX-XXXXXXXX-XXXXXXXX","payme_sale_code":1111111,"sale_created":"2026-11-09 10:15:02","sale_status":"completed","payme_sale_status":"completed","sale_type":"Sale","sale_payment_method":"credit-card","currency":"ILS","price":8000,"transaction_id":"order-1234","sale_description":"Shirt","sale_deferred_months":null,"is_token_sale":false,"payme_signature":"b71e**************ca5a","payme_transaction_id":"TRANDEMO-XXXXXXXX-XXXXXXXX-XXXXXXXX","payme_transaction_total":"8000","payme_transaction_card_brand":"Mastercard","payme_transaction_auth_number":"0123456","payme_transaction_voucher":"111111","payme_transaction_emv_uid":null,"payme_transaction_acquirer":"PayMe","payme_transaction_auth_source":"VoiceMail","payme_transaction_card_issuer":"Isracard","payme_transaction_credit_type":"RegularCredit","buyer_name":"Israel Israeli","buyer_email":"buyer@example.com","buyer_phone":null,"buyer_card_mask":"532610******5846","buyer_card_exp":"1230","buyer_card_is_foreign":false,"buyer_social_id":"008336174","installments":1,"transaction_first_payment":8000,"transaction_periodical_payment":0,"transaction_arn":null,"sale_paid_date":"2026-11-09 10:16:40","sale_release_date":null,"sale_3ds":false,"session":"Ab12Cd34"}}}},"400":{"description":"Error `1`: no seller named (a partner key on its own). Error `352`: `sale_price` is above the authorized amount (or your capture limit). Error `20`: the seller doesn't belong to the partner key sent.","x-response-kind":"error","content":{"application/json":{"schema":{"type":"object","properties":{"status_code":{"type":"integer","description":"`1`: the request failed."},"status_error_code":{"type":"integer","description":"PayMe's error code. See [Errors](/payments/getting-started/errors)."},"status_error_details":{"type":"string","description":"The error message, in the language you asked for."},"status_additional_info":{"type":"string","description":"Extra detail: usually the field at fault, the sale's current status, or the masked card number."},"session":{"type":"string","description":"PayMe's ID for this request. Quote it when you contact PayMe."}}},"example":{"status_code":1,"status_error_details":"Invalid price, out of min-max bounds","status_additional_info":"12000","status_error_code":352,"session":"Ab12Cd34"}}}},"403":{"description":"Error `303`: the sale belongs to another partner or another seller.","x-response-kind":"error","content":{"application/json":{"schema":{"type":"object","properties":{"status_code":{"type":"integer","description":"`1`: the request failed."},"status_error_code":{"type":"integer","description":"PayMe's error code. See [Errors](/payments/getting-started/errors)."},"status_error_details":{"type":"string","description":"The error message, in the language you asked for."},"status_additional_info":{"type":"string","description":"Extra detail: usually the field at fault, the sale's current status, or the masked card number."},"session":{"type":"string","description":"PayMe's ID for this request. Quote it when you contact PayMe."}}},"example":{"status_code":1,"status_error_details":"Could not access sale","status_additional_info":"","status_error_code":303,"session":"Ab12Cd34"}}}},"429":{"description":"Error `998`: another call for this sale is still running, or too many requests. Wait, then check the sale before retrying.","x-response-kind":"error","content":{"application/json":{"schema":{"type":"object","properties":{"status_code":{"type":"integer","description":"`1`: the request failed."},"status_error_code":{"type":"integer","description":"PayMe's error code. See [Errors](/payments/getting-started/errors)."},"status_error_details":{"type":"string","description":"The error message, in the language you asked for."},"status_additional_info":{"type":"string","description":"Extra detail: usually the field at fault, the sale's current status, or the masked card number."},"session":{"type":"string","description":"PayMe's ID for this request. Quote it when you contact PayMe."}}},"example":{"status_code":1,"status_error_details":"Operation is not permitted","status_additional_info":"Duplicated action detected, please retry later","status_error_code":998,"session":"Ab12Cd34"}}}},"500":{"description":"Request errors. `1`: a required field is missing. `350`: no sale has this ID. `305`: the sale isn't `authorized` or `failed`. `518`: the authorization is no longer open. `516`: more than 7 days since the authorization. `352`: `sale_price` below the account minimum. `42`: `sale_price` isn't a whole number. `351`: invalid `installments`. `251`: unknown seller.","x-response-kind":"error","content":{"application/json":{"schema":{"type":"object","properties":{"status_code":{"type":"integer","description":"`1`: the request failed."},"status_error_code":{"type":"integer","description":"PayMe's error code. See [Errors](/payments/getting-started/errors)."},"status_error_details":{"type":"string","description":"The error message, in the language you asked for."},"status_additional_info":{"type":"string","description":"Extra detail: usually the field at fault, the sale's current status, or the masked card number."},"session":{"type":"string","description":"PayMe's ID for this request. Quote it when you contact PayMe."}}},"example":{"status_code":1,"status_error_details":"Sale authorization has been expired","status_additional_info":"","status_error_code":516,"session":"Ab12Cd34"}}}}}}},"/cancel-template":{"post":{"operationId":"post-cancel-template","summary":"Cancel a multi-payment page","tags":["Post Sale Actions"],"description":"## Overview\n\nCloses a [multi-payment page](/accepting-payments/checkout-and-in-person/multi-payment-page) so no more buyers can pay on its link. The page must still be open (`initial`); its status becomes `canceled`. Nothing is refunded: sales already paid through the page stay as they are.\n\nSend the page's ID in **`sale_payme_id`**. This call uses that name, unlike the other post-sale calls, which take `payme_sale_id`. \n\n### Credentials\n\nSend `seller_payme_id` of the seller that owns the page. Partners can send `payme_client_key` (or the `PayMe-Partner-Key` header) instead. The page must belong to the seller or partner you name; otherwise the call returns HTTP 403, error `303`.\n\nThis call works only on multi-payment pages (`template` sales); any other sale returns error `357`. There is no cancel call for an ordinary sale. ","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"seller_payme_id":{"type":"string","description":"The MPL of the seller that owns the page. Required unless you send `payme_client_key`."},"payme_client_key":{"type":"string","description":"Partners: your partner key, instead of `seller_payme_id`. You can send it in the `PayMe-Partner-Key` header instead."},"sale_payme_id":{"type":"string","description":"The multi-payment page's ID: the `payme_sale_id` that `generate-sale` returned for it. Note the field name."},"language":{"type":"string","description":"Language of error messages: `en`, or `he` (the default). `es`, `ru` and `ar` are accepted, but messages then come back mostly in English. Any other value returns error `51`."}},"required":["sale_payme_id"]},"example":{"seller_payme_id":"MPLDEMO-MPLDEMO-MPLDEMO-1234567","sale_payme_id":"SALEDEMO-XXXXXXXX-XXXXXXXX-XXXXXXXX","language":"en"}}}},"responses":{"200":{"description":"The page is canceled.","x-response-kind":"success","content":{"application/json":{"schema":{"type":"object","properties":{"status_code":{"type":"integer","description":"`0`: the page is canceled."},"session":{"type":"string","description":"PayMe's ID for this request. Quote it when you contact PayMe."}}},"example":{"status_code":0,"session":"Ab12Cd34"}}}},"403":{"description":"Error `303`: the page belongs to another partner or another seller.","x-response-kind":"error","content":{"application/json":{"schema":{"type":"object","properties":{"status_code":{"type":"integer","description":"`1`: the request failed."},"status_error_code":{"type":"integer","description":"PayMe's error code. See [Errors](/payments/getting-started/errors)."},"status_error_details":{"type":"string","description":"The error message, in the language you asked for."},"status_additional_info":{"type":"string","description":"Extra detail: usually the field at fault, the sale's current status, or the masked card number."},"session":{"type":"string","description":"PayMe's ID for this request. Quote it when you contact PayMe."}}},"example":{"status_code":1,"status_error_details":"Could not access sale","status_additional_info":"","status_error_code":303,"session":"Ab12Cd34"}}}},"500":{"description":"Request errors. `1`: a required field is missing (for example `sale_payme_id`) or no credential was sent. `200`: unknown partner key. `251`: unknown seller. `350`: no sale has this ID. `357`: the sale isn't a multi-payment page (`status_additional_info` holds its sale type number). `305`: the page isn't `initial` (its status, such as `canceled`, is in `status_additional_info`).","x-response-kind":"error","content":{"application/json":{"schema":{"type":"object","properties":{"status_code":{"type":"integer","description":"`1`: the request failed."},"status_error_code":{"type":"integer","description":"PayMe's error code. See [Errors](/payments/getting-started/errors)."},"status_error_details":{"type":"string","description":"The error message, in the language you asked for."},"status_additional_info":{"type":"string","description":"Extra detail: usually the field at fault, the sale's current status, or the masked card number."},"session":{"type":"string","description":"PayMe's ID for this request. Quote it when you contact PayMe."}}},"example":{"status_code":1,"status_error_details":"Cannot perform action due to an incorrect status","status_additional_info":"canceled","status_error_code":305,"session":"Ab12Cd34"}}}}}}}}}