Перейти до вмісту

Confirm payment

POST
/api/payments/v1/confirm

Confirm two-step payment.

object
external_id
required

External ID of a payment, passed from your side on create.

string
amount
number
callback_url
string format: url
currency
string
payload
string
products

List of confirmed products. Required in case of partial confirm for projects with enabled fiscalization. For full confirm products would be taken from create request.

Array<object>
object
category
string
currency
string
description
string
id
string
image
string
name
string
net_amount
string format: decimal
Example
0
quantity
string format: decimal
url
string
vat_amount
string format: decimal
Example
0
tax_group

Tax group is required for projects with enabled fiscalization.

  • 1: ПДВ 20%
  • 2: Без ПДВ
  • 3: ПДВ 20% + акциз 5%
  • 4: ПДВ 7%
  • 5: ПДВ 0%
  • 6: Без ПДВ + акциз 5%
  • 7: Не є об`єктом ПДВ
  • 8: ПДВ 20% + ПФ 7.5%
  • 9: ПДВ 14%
integer
POST
$request.body#/callback_url

Return transaction data if payment was processed successfully or occurred the business error

X-ROZETKAPAY-SIGNATURE
string

With this header, you can verify if the callback is from RozetkaPay.

Calculation algorithm:

signature=base64url_encode(sha1($password + base64url_encode($json_body) + $password))
object
action

Object which contains information about required post-request action. Will be null if action not required.

object
type
value

Action value. Usually it’s a checkout url or 3ds verification url.

string
action_required
boolean
details
object
amount
string format: decimal
Example
0
billing_order_id
string
created_at
string format: date-time
currency
string
description
string
gateway_order_id
string
payload
string
payment_id
string
processed_at
string format: date-time
rrn
string
status
string
Allowed values: init pending success failure
status_code
string
Allowed values: authorization_failed customer_auth_not_found request_failed internal_error access_not_allowed invalid_request_body payment_settings_not_found transaction_already_paid action_not_allowed action_already_done transaction_success_primary_not_found payment_method_not_allowed wallet_not_configured payment_method_already_confirmed payment_method_not_found invalid_card_token customer_auth_token_expired_or_invalid customer_profile_not_found customer_id_not_passed transaction_not_found waiting_for_verification transaction_amount_limit invalid_data transaction_declined authorization_error transaction_rejected transaction_successful anti_fraud_check card_not_supported confirmation_timeout invalid_card_data invalid_currency pending waiting_for_complete access_error card_expired receiver_info_error transaction_limit_exceeded transaction_not_supported 3ds_not_supported 3ds_required failed_to_create_transaction failed_to_finish_transaction insufficient_funds invalid_phone_number card_has_constraints pin_tries_exceeded session_expired timeout transaction_created waiting_for_redirect wrong_amount test_transaction subscription_successful unsubscribed_successfully wrong_pin wrong_authorization_code wrong_cavv wrong_cvv wrong_account_number confirm_required cvv_is_required confirmation_required sender_info_required missed_payout_method_data card_verification_required incorrect_refund_sum_or_currency payment_card_has_invalid_status wrong_card_number user_not_found failed_to_send_sms wrong_sms_password card_not_found payment_system_not_supported country_not_supported no_discount_found failed_to_load_wallet invalid_verification_code additional_information_is_pending transaction_is_not_recurring confirm_amount_cannot_be_more_than_the_transaction_amount card_bin_not_found currency_rate_not_found invalid_recipient_name daily_card_usage_limit_reached invalid_transaction_amount card_type_is_not_supported store_is_blocked store_is_not_active payment_method_not_found transaction_cannot_be_processed invalid_transaction_status public_key_not_found terminal_not_found fee_not_found failed_to_verify_card invalid_transaction_type restricted_ip invalid_token preauth_not_allowed token_does_not_exist reached_the_limit_of_attempts_for_ip card_branch_is_blocked card_branch_daily_limit_reached completion_limit_reached recurring_transactions_not_allowed transaction_is_canceled_by_payer payment_was_refunded card_is_lost_or_stolen plan_not_found plan_not_active plan_project_missing subscription_auto_renew_locked subscription_not_found subscription_not_active subscription_already_exists order_canceled
status_description
string
transaction_id
string
operation_id
string
auth_code
string
fee
object
amount
string format: decimal
Example
0
currency
string
terminal_name
string
bank_name
string
method

Method name called on payment flow provider side.

string
recurrent_id
string
mid
string
tid
string
recipient_iban
string
subscription_id
string
fiscalization
object
fiscal_id

Fiscalization identifier

string
fiscal_url

Fiscalization receipt URL

string
status

Fiscalization status

string
Allowed values: Pending Success Failed
status_code

Fiscalization status code

  • 1000: Test result
  • 1001: Operation successful
  • 1002: Operation in progress
  • 2001: Invalid fiscalization data. Please verify product information
  • 2002: Internal error. Please contact support
  • 2003: Not authorized. Please check your permissions
  • 2004: Temporary failure. Please try again later
  • 2005: Fiscalization service temporarily unavailable
  • 2006: Not authorized. Please verify your token
  • 3001: Required data not found
  • 3002: Duplicate attempt detected
  • 4001: Cash register not activated in tax system
  • 4002: Cash register blocked. Please contact support
  • 4003: Cash register data conflict detected. Please try again later
  • 4004: Cash register processing another operation. Please try again later
  • 4005: Cannot change cash register operating mode
  • 4006: Cash register locked by another application. Please close all other fiscal software
  • 4050: Fiscal shift not opened. Please open a shift in your cash register before processing transactions
  • 4051: Fiscal shift is not closed. Please close the current shift
  • 5001: Electronic signature key not registered with tax authorities. Please register your EDS key in the tax system before enabling fiscalization
  • 5002: Electronic signature key has been revoked. Please obtain and register a new EDS certificate
  • 5003: Electronic signature verification failed. Please check your EDS key validity and permissions
  • 6001: Tax authority service error. Please contact support
  • 6002: Tax authority service unavailable. Please try again later
  • 6003: Tax authority response timeout. Please try again later
  • 7001: Fiscal receipt validation failed. Receipt sequence broken. Please contact support
  • 7002: Fiscal receipt generation failed. Please contact support
integer
status_description

Fiscalization status description

string
external_id
string
unified_external_id
string
batch_external_id

External identifier from the merchant, one per batch. Unique within the project. The parameter is used for the batch payment logic.

string
id
string
Example
0
project_id
string
is_success
boolean
receipt_url
string
payment_method
object
cc_token
object
bank_short_name
string
expires_at
string format: date-time
mask
string
payment_system
string
token
string
saved_card
boolean
bin_country
string
apple_pay
object
bank_short_name
string
expires_at
string format: date-time
mask
string
payment_system
string
token
string
bin_country
string
google_pay
object
bank_short_name
string
expires_at
string format: date-time
mask
string
payment_system
string
token
string
bin_country
string
type
string
Allowed values: cc_token cc_number wallet google_pay apple_pay card
customer
object
browser_user_agent
string
email
string format: email
external_id
string
first_name
string
ip_address
string
last_name
string
patronym
string
phone
string
operation
string
Allowed values: payment confirm refund cancel lookup recurrent

Shows that callback was accepted. No further callback after this response.

object
action

Object which contains information about required post-request action. Will be null if action not required.

object
type
value

Action value. Usually it’s a checkout url or 3ds verification url.

string
action_required
boolean
details
object
amount
string format: decimal
Example
0
billing_order_id
string
created_at
string format: date-time
currency
string
description
string
gateway_order_id
string
payload
string
payment_id
string
processed_at
string format: date-time
rrn
string
status
string
Allowed values: init pending success failure
status_code
string
Allowed values: authorization_failed customer_auth_not_found request_failed internal_error access_not_allowed invalid_request_body payment_settings_not_found transaction_already_paid action_not_allowed action_already_done transaction_success_primary_not_found payment_method_not_allowed wallet_not_configured payment_method_already_confirmed payment_method_not_found invalid_card_token customer_auth_token_expired_or_invalid customer_profile_not_found customer_id_not_passed transaction_not_found waiting_for_verification transaction_amount_limit invalid_data transaction_declined authorization_error transaction_rejected transaction_successful anti_fraud_check card_not_supported confirmation_timeout invalid_card_data invalid_currency pending waiting_for_complete access_error card_expired receiver_info_error transaction_limit_exceeded transaction_not_supported 3ds_not_supported 3ds_required failed_to_create_transaction failed_to_finish_transaction insufficient_funds invalid_phone_number card_has_constraints pin_tries_exceeded session_expired timeout transaction_created waiting_for_redirect wrong_amount test_transaction subscription_successful unsubscribed_successfully wrong_pin wrong_authorization_code wrong_cavv wrong_cvv wrong_account_number confirm_required cvv_is_required confirmation_required sender_info_required missed_payout_method_data card_verification_required incorrect_refund_sum_or_currency payment_card_has_invalid_status wrong_card_number user_not_found failed_to_send_sms wrong_sms_password card_not_found payment_system_not_supported country_not_supported no_discount_found failed_to_load_wallet invalid_verification_code additional_information_is_pending transaction_is_not_recurring confirm_amount_cannot_be_more_than_the_transaction_amount card_bin_not_found currency_rate_not_found invalid_recipient_name daily_card_usage_limit_reached invalid_transaction_amount card_type_is_not_supported store_is_blocked store_is_not_active payment_method_not_found transaction_cannot_be_processed invalid_transaction_status public_key_not_found terminal_not_found fee_not_found failed_to_verify_card invalid_transaction_type restricted_ip invalid_token preauth_not_allowed token_does_not_exist reached_the_limit_of_attempts_for_ip card_branch_is_blocked card_branch_daily_limit_reached completion_limit_reached recurring_transactions_not_allowed transaction_is_canceled_by_payer payment_was_refunded card_is_lost_or_stolen plan_not_found plan_not_active plan_project_missing subscription_auto_renew_locked subscription_not_found subscription_not_active subscription_already_exists order_canceled
status_description
string
transaction_id
string
operation_id
string
auth_code
string
fee
object
amount
string format: decimal
Example
0
currency
string
terminal_name
string
bank_name
string
method

Method name called on payment flow provider side.

string
recurrent_id
string
mid
string
tid
string
recipient_iban
string
subscription_id
string
fiscalization
object
fiscal_id

Fiscalization identifier

string
fiscal_url

Fiscalization receipt URL

string
status

Fiscalization status

string
Allowed values: Pending Success Failed
status_code

Fiscalization status code

  • 1000: Test result
  • 1001: Operation successful
  • 1002: Operation in progress
  • 2001: Invalid fiscalization data. Please verify product information
  • 2002: Internal error. Please contact support
  • 2003: Not authorized. Please check your permissions
  • 2004: Temporary failure. Please try again later
  • 2005: Fiscalization service temporarily unavailable
  • 2006: Not authorized. Please verify your token
  • 3001: Required data not found
  • 3002: Duplicate attempt detected
  • 4001: Cash register not activated in tax system
  • 4002: Cash register blocked. Please contact support
  • 4003: Cash register data conflict detected. Please try again later
  • 4004: Cash register processing another operation. Please try again later
  • 4005: Cannot change cash register operating mode
  • 4006: Cash register locked by another application. Please close all other fiscal software
  • 4050: Fiscal shift not opened. Please open a shift in your cash register before processing transactions
  • 4051: Fiscal shift is not closed. Please close the current shift
  • 5001: Electronic signature key not registered with tax authorities. Please register your EDS key in the tax system before enabling fiscalization
  • 5002: Electronic signature key has been revoked. Please obtain and register a new EDS certificate
  • 5003: Electronic signature verification failed. Please check your EDS key validity and permissions
  • 6001: Tax authority service error. Please contact support
  • 6002: Tax authority service unavailable. Please try again later
  • 6003: Tax authority response timeout. Please try again later
  • 7001: Fiscal receipt validation failed. Receipt sequence broken. Please contact support
  • 7002: Fiscal receipt generation failed. Please contact support
integer
status_description

Fiscalization status description

string
external_id
string
unified_external_id
string
batch_external_id

External identifier from the merchant, one per batch. Unique within the project. The parameter is used for the batch payment logic.

string
id
string
Example
0
project_id
string
is_success
boolean
receipt_url
string
payment_method
object
cc_token
object
bank_short_name
string
expires_at
string format: date-time
mask
string
payment_system
string
token
string
saved_card
boolean
bin_country
string
apple_pay
object
bank_short_name
string
expires_at
string format: date-time
mask
string
payment_system
string
token
string
bin_country
string
google_pay
object
bank_short_name
string
expires_at
string format: date-time
mask
string
payment_system
string
token
string
bin_country
string
type
string
Allowed values: cc_token cc_number wallet google_pay apple_pay card
customer
object
browser_user_agent
string
email
string format: email
external_id
string
first_name
string
ip_address
string
last_name
string
patronym
string
phone
string
operation
string
Allowed values: payment confirm refund cancel lookup recurrent
object
code
string
Allowed values: authorization_failed customer_auth_not_found request_failed internal_error access_not_allowed invalid_request_body payment_settings_not_found transaction_already_paid action_not_allowed action_already_done transaction_success_primary_not_found payment_method_not_allowed wallet_not_configured payment_method_already_confirmed payment_method_not_found invalid_card_token customer_auth_token_expired_or_invalid customer_profile_not_found customer_id_not_passed transaction_not_found waiting_for_verification transaction_amount_limit invalid_data transaction_declined authorization_error transaction_rejected transaction_successful anti_fraud_check card_not_supported confirmation_timeout invalid_card_data invalid_currency pending waiting_for_complete access_error card_expired receiver_info_error transaction_limit_exceeded transaction_not_supported 3ds_not_supported 3ds_required failed_to_create_transaction failed_to_finish_transaction insufficient_funds invalid_phone_number card_has_constraints pin_tries_exceeded session_expired timeout transaction_created waiting_for_redirect wrong_amount test_transaction subscription_successful unsubscribed_successfully wrong_pin wrong_authorization_code wrong_cavv wrong_cvv wrong_account_number confirm_required cvv_is_required confirmation_required sender_info_required missed_payout_method_data card_verification_required incorrect_refund_sum_or_currency payment_card_has_invalid_status wrong_card_number user_not_found failed_to_send_sms wrong_sms_password card_not_found payment_system_not_supported country_not_supported no_discount_found failed_to_load_wallet invalid_verification_code additional_information_is_pending transaction_is_not_recurring confirm_amount_cannot_be_more_than_the_transaction_amount card_bin_not_found currency_rate_not_found invalid_recipient_name daily_card_usage_limit_reached invalid_transaction_amount card_type_is_not_supported store_is_blocked store_is_not_active payment_method_not_found transaction_cannot_be_processed invalid_transaction_status public_key_not_found terminal_not_found fee_not_found failed_to_verify_card invalid_transaction_type restricted_ip invalid_token preauth_not_allowed token_does_not_exist reached_the_limit_of_attempts_for_ip card_branch_is_blocked card_branch_daily_limit_reached completion_limit_reached recurring_transactions_not_allowed transaction_is_canceled_by_payer payment_was_refunded card_is_lost_or_stolen plan_not_found plan_not_active plan_project_missing subscription_auto_renew_locked subscription_not_found subscription_not_active subscription_already_exists order_canceled
message
string
param
string
payment_id
string
type
string
Allowed values: invalid_request_error payment_method_error payment_settings_error payment_error api_error customer_error
error_id
string
object
code
string
Allowed values: authorization_failed customer_auth_not_found request_failed internal_error access_not_allowed invalid_request_body payment_settings_not_found transaction_already_paid action_not_allowed action_already_done transaction_success_primary_not_found payment_method_not_allowed wallet_not_configured payment_method_already_confirmed payment_method_not_found invalid_card_token customer_auth_token_expired_or_invalid customer_profile_not_found customer_id_not_passed transaction_not_found waiting_for_verification transaction_amount_limit invalid_data transaction_declined authorization_error transaction_rejected transaction_successful anti_fraud_check card_not_supported confirmation_timeout invalid_card_data invalid_currency pending waiting_for_complete access_error card_expired receiver_info_error transaction_limit_exceeded transaction_not_supported 3ds_not_supported 3ds_required failed_to_create_transaction failed_to_finish_transaction insufficient_funds invalid_phone_number card_has_constraints pin_tries_exceeded session_expired timeout transaction_created waiting_for_redirect wrong_amount test_transaction subscription_successful unsubscribed_successfully wrong_pin wrong_authorization_code wrong_cavv wrong_cvv wrong_account_number confirm_required cvv_is_required confirmation_required sender_info_required missed_payout_method_data card_verification_required incorrect_refund_sum_or_currency payment_card_has_invalid_status wrong_card_number user_not_found failed_to_send_sms wrong_sms_password card_not_found payment_system_not_supported country_not_supported no_discount_found failed_to_load_wallet invalid_verification_code additional_information_is_pending transaction_is_not_recurring confirm_amount_cannot_be_more_than_the_transaction_amount card_bin_not_found currency_rate_not_found invalid_recipient_name daily_card_usage_limit_reached invalid_transaction_amount card_type_is_not_supported store_is_blocked store_is_not_active payment_method_not_found transaction_cannot_be_processed invalid_transaction_status public_key_not_found terminal_not_found fee_not_found failed_to_verify_card invalid_transaction_type restricted_ip invalid_token preauth_not_allowed token_does_not_exist reached_the_limit_of_attempts_for_ip card_branch_is_blocked card_branch_daily_limit_reached completion_limit_reached recurring_transactions_not_allowed transaction_is_canceled_by_payer payment_was_refunded card_is_lost_or_stolen plan_not_found plan_not_active plan_project_missing subscription_auto_renew_locked subscription_not_found subscription_not_active subscription_already_exists order_canceled
message
string
param
string
payment_id
string
type
string
Allowed values: invalid_request_error payment_method_error payment_settings_error payment_error api_error customer_error
error_id
string
object
code
string
Allowed values: authorization_failed customer_auth_not_found request_failed internal_error access_not_allowed invalid_request_body payment_settings_not_found transaction_already_paid action_not_allowed action_already_done transaction_success_primary_not_found payment_method_not_allowed wallet_not_configured payment_method_already_confirmed payment_method_not_found invalid_card_token customer_auth_token_expired_or_invalid customer_profile_not_found customer_id_not_passed transaction_not_found waiting_for_verification transaction_amount_limit invalid_data transaction_declined authorization_error transaction_rejected transaction_successful anti_fraud_check card_not_supported confirmation_timeout invalid_card_data invalid_currency pending waiting_for_complete access_error card_expired receiver_info_error transaction_limit_exceeded transaction_not_supported 3ds_not_supported 3ds_required failed_to_create_transaction failed_to_finish_transaction insufficient_funds invalid_phone_number card_has_constraints pin_tries_exceeded session_expired timeout transaction_created waiting_for_redirect wrong_amount test_transaction subscription_successful unsubscribed_successfully wrong_pin wrong_authorization_code wrong_cavv wrong_cvv wrong_account_number confirm_required cvv_is_required confirmation_required sender_info_required missed_payout_method_data card_verification_required incorrect_refund_sum_or_currency payment_card_has_invalid_status wrong_card_number user_not_found failed_to_send_sms wrong_sms_password card_not_found payment_system_not_supported country_not_supported no_discount_found failed_to_load_wallet invalid_verification_code additional_information_is_pending transaction_is_not_recurring confirm_amount_cannot_be_more_than_the_transaction_amount card_bin_not_found currency_rate_not_found invalid_recipient_name daily_card_usage_limit_reached invalid_transaction_amount card_type_is_not_supported store_is_blocked store_is_not_active payment_method_not_found transaction_cannot_be_processed invalid_transaction_status public_key_not_found terminal_not_found fee_not_found failed_to_verify_card invalid_transaction_type restricted_ip invalid_token preauth_not_allowed token_does_not_exist reached_the_limit_of_attempts_for_ip card_branch_is_blocked card_branch_daily_limit_reached completion_limit_reached recurring_transactions_not_allowed transaction_is_canceled_by_payer payment_was_refunded card_is_lost_or_stolen plan_not_found plan_not_active plan_project_missing subscription_auto_renew_locked subscription_not_found subscription_not_active subscription_already_exists order_canceled
message
string
param
string
payment_id
string
type
string
Allowed values: invalid_request_error payment_method_error payment_settings_error payment_error api_error customer_error
error_id
string

Too Many Requests.

object
code
string
default: too_many_requests
message
string
default: Too many requests
param
string
payment_id
string
type
string
default: api_error
error_id
string
X-RateLimit-Limit
integer

Request limit per second.

X-RateLimit-Remaining
integer

The number of requests left for the time window.

X-RateLimit-Reset
integer

Seconds needed for full regeneration.

object
code
string
Allowed values: authorization_failed customer_auth_not_found request_failed internal_error access_not_allowed invalid_request_body payment_settings_not_found transaction_already_paid action_not_allowed action_already_done transaction_success_primary_not_found payment_method_not_allowed wallet_not_configured payment_method_already_confirmed payment_method_not_found invalid_card_token customer_auth_token_expired_or_invalid customer_profile_not_found customer_id_not_passed transaction_not_found waiting_for_verification transaction_amount_limit invalid_data transaction_declined authorization_error transaction_rejected transaction_successful anti_fraud_check card_not_supported confirmation_timeout invalid_card_data invalid_currency pending waiting_for_complete access_error card_expired receiver_info_error transaction_limit_exceeded transaction_not_supported 3ds_not_supported 3ds_required failed_to_create_transaction failed_to_finish_transaction insufficient_funds invalid_phone_number card_has_constraints pin_tries_exceeded session_expired timeout transaction_created waiting_for_redirect wrong_amount test_transaction subscription_successful unsubscribed_successfully wrong_pin wrong_authorization_code wrong_cavv wrong_cvv wrong_account_number confirm_required cvv_is_required confirmation_required sender_info_required missed_payout_method_data card_verification_required incorrect_refund_sum_or_currency payment_card_has_invalid_status wrong_card_number user_not_found failed_to_send_sms wrong_sms_password card_not_found payment_system_not_supported country_not_supported no_discount_found failed_to_load_wallet invalid_verification_code additional_information_is_pending transaction_is_not_recurring confirm_amount_cannot_be_more_than_the_transaction_amount card_bin_not_found currency_rate_not_found invalid_recipient_name daily_card_usage_limit_reached invalid_transaction_amount card_type_is_not_supported store_is_blocked store_is_not_active payment_method_not_found transaction_cannot_be_processed invalid_transaction_status public_key_not_found terminal_not_found fee_not_found failed_to_verify_card invalid_transaction_type restricted_ip invalid_token preauth_not_allowed token_does_not_exist reached_the_limit_of_attempts_for_ip card_branch_is_blocked card_branch_daily_limit_reached completion_limit_reached recurring_transactions_not_allowed transaction_is_canceled_by_payer payment_was_refunded card_is_lost_or_stolen plan_not_found plan_not_active plan_project_missing subscription_auto_renew_locked subscription_not_found subscription_not_active subscription_already_exists order_canceled
message
string
param
string
payment_id
string
type
string
Allowed values: invalid_request_error payment_method_error payment_settings_error payment_error api_error customer_error
error_id
string