payware_operations_process_transaction
Process a customer-created PEER transaction to accept a QR or barcode payment as a merchant. Provide the transaction ID, amount, currency, and reason to complete the charge.
Instructions
[Merchant] Process a PEER transaction (for merchants accepting payments by scanning customer QR/barcode).
Use Case: Merchant scans customer's payware QR code or barcode to accept payment. Note: Only PEER transactions (created by customers) can be processed by merchants. Flow: Customer creates transaction → Merchant scans QR/barcode → Merchant processes transaction
API Request Structure:
{
"shop": "...",
"account": "...",
"friendlyName": "...",
"callbackUrl": "...",
"passbackParams": "...",
"trData": {
"amount": "25.50", // REQUIRED for processing
"currency": "EUR", // REQUIRED for processing
"reasonL1": "...", // REQUIRED for processing
"reasonL2": "..."
},
"trOptions": {
"timeToLive": 300 // Overwrites original transaction TTL
}
}Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"transactionId": "<transactionId>",
"amount": "<amount>",
"currency": "<currency>",
"reasonL1": "<reasonL1>"
},
"name": "payware_operations_process_transaction"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| shop | No | Shop code (optional - uses default if not provided) | |
| amount | Yes | Amount as currency value to process (e.g., 25.50 for €25.50). Must be positive | |
| account | No | Account identifier (optional - uses default if not provided) | |
| currency | Yes | Transaction currency (ISO 3-character code) | EUR |
| reasonL1 | Yes | Transaction grounds description (required) | |
| reasonL2 | No | Transaction grounds description continuation (optional) | |
| partnerId | No | Partner ID from payware dashboard. Can use PAYWARE_PARTNER_ID env var as default. | partner_12345 |
| privateKey | No | RSA private key for JWT token creation. Can use PAYWARE_PRIVATE_KEY_PATH env var as default. | |
| timeToLive | No | Time allowed for transaction processing in seconds | |
| useSandbox | No | Use sandbox environment for testing | |
| callbackUrl | No | URL to receive transaction status callbacks | |
| friendlyName | No | Account holder recognizable name (optional) | |
| transactionId | Yes | Transaction ID to process: 'pw' (standard), 'pr' (product), 'pl' (placement: pays as its product, and the payment is attributed to the placement), 'ps' (soundbite). Up to 32 characters (identifiers may grow beyond today's 10). | |
| idempotencyKey | No | Optional. Sent as the Idempotency-Key header. Use one value per payment (a UUID is typical) and the same value on every retry of it: a retry with the same key and body within 24 hours returns the transaction the first call created instead of a new one, and the result reports replayed: true. The same key with a different body is refused (422 ERR_IDEMPOTENCY_KEY_REUSED); a retry while the first call still runs gets 409 ERR_IDEMPOTENCY_KEY_IN_PROGRESS. | |
| passbackParams | No | Parameters passed back through callback |