Use this method to submit an instruction request to initiate a sale on a payment device.
In the request, include the order amount and currency.
When you send a successful request, our gateway returns information about the payment instruction and a paymentInstructionId, which you need for the following methods:
- [Retrieve payment instruction](https://docs.payroc.com/api/schema/payroc-cloud/payment-instructions/retrieve) - View the details of the payment instruction.
- [Cancel payment instruction](https://docs.payroc.com/api/schema/payroc-cloud/payment-instructions/delete) - Cancel the payment instruction.
Authentication
AuthorizationBearer
Bearer authentication of the form Bearer <token>, where token is your auth token.
Path parameters
serialNumberstringRequired1-64 characters
Serial number of the merchant’s payment device.
Headers
Idempotency-KeystringRequiredformat: "uuid"
Unique identifier that you generate for each request. You must use the [UUID v4 format](https://www.rfc-editor.org/rfc/rfc4122) for the identifier. For more information about the idempotency key, go to [Idempotency](https://docs.payroc.com/api/idempotency).
Request
This endpoint expects an object.
processingTerminalIdstringRequired4-50 characters
Unique identifier that we assigned to the terminal.
orderobjectRequired
Object that contains information about the payment.
operatorstringOptional0-50 characters
Operator who initiated the request.
customerobjectOptional
Object that contains the customer's contact details and address information.
ipAddressobjectOptional
Object that contains the IP address of the device that sent the request.
credentialOnFileobjectOptional
Object that contains information about saving the customer’s payment details.
customizationOptionsobjectOptional
Object that contains available options to customize certain aspects of an instruction.
autoCapturebooleanOptionalDefaults to true
Indicates if we should automatically capture the payment amount.
true - Run a sale and automatically capture the transaction.
false- Run a pre-authorization and capture the transaction later.
Note: If you send false and the terminal doesn’t support pre-authorization, we set the transaction’s status to pending. The merchant must capture the transaction to take payment from the customer.
processAsSalebooleanOptionalDefaults to false
Indicates if we should immediately settle the sale transaction. The merchant cannot adjust the transaction if we immediately settle it. Note: If the value for processAsSale is true, the gateway ignores the value in autoCapture.
Response
Successful request. We accepted the payment instruction.
statusenum
Indicates the current status of the instruction.
canceled – The instruction was canceled before it was completed.
completed – The instruction has completed. Use the link object to check the resource.
failure – The instruction failed. Check the errorMessage field for more information.
inProgress – The instruction is currently in progress.
Allowed values:
paymentInstructionIdstring1-36 characters
Unique identifier that we assigned to the payment instruction.
errorMessagestring
Description of the error that caused the instruction to fail.
Note: We return this field only if the status is failure.
linkobjectRead-only
Object that contains HATEOAS links for the resource.
Errors
400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
404
Not Found Error
406
Not Acceptable Error
409
Conflict Error
415
Unsupported Media Type Error
500
Internal Server Error
Use this method to submit an instruction request to initiate a sale on a payment device.
In the request, include the order amount and currency.
When you send a successful request, our gateway returns information about the payment instruction and a paymentInstructionId, which you need for the following methods:
Unique identifier that you generate for each request. You must use the UUID v4 format for the identifier. For more information about the idempotency key, go to Idempotency.