Approvals & Double Signature

Some payout transactions require additional authorization before they can be processed. This guide explains when authorization is needed and how to approve payouts through different methods.

When Authorization Is Required

Additional authorization is required for payouts created under these conditions:

  • API payouts: Created via API with requireAuth parameter set to true.
  • Dashboard payouts: Created directly in the Localpayment Dashboard.

Authorization Methods

The method for authorizing payouts depends on how they were originally created:

Dashboard-Created Payouts

For payouts created in the Dashboard, a second user with authorization permissions must authorize.

API-Created Payouts

For payouts created via API, use the Authorize Payout endpoint to programmatically approve transactions.


Prerequisites

Before authorizing payouts, ensure you have:

  • An initialized payout transaction with PendingAuth status
  • Valid API credentials with authorization permissions
  • The transaction identifier (internalId or externalId) or date range for bulk authorization

Authorizing Payouts via API

Endpoint

POST https://api.stage.localpayment.com/api/payout/authorize

Authentication

Include your access token in the request headers:

Authorization: Bearer <your_access_token>

Key Request Parameters

You can authorize payouts using one of three methods:

ParameterTypeDescriptionRequired
internalIdstringLocalPayment's unique transaction identifier✅ (Option 1)
externalIdstringYour system's unique transaction identifier✅ (Option 2)
dateFromstringStart date for bulk authorization (YYYY-MM-DD)✅ (Option 3)
dateTostringEnd date for bulk authorization (YYYY-MM-DD)✅ (Option 3)
ℹ️

Choose one authorization method: Use either a specific transaction ID (internalId or externalId) for single transactions, or date range (dateFrom and dateTo) for bulk authorization.

Example Requests

curl --request POST \
     --url https://api.stage.localpayment.com/api/payout/authorize \
     --header 'Authorization: Bearer <your_access_token>' \
     --header 'Content-Type: application/json' \
     --data '{
       "externalId": "1939b376-2aed-4c7a-bc2b-1157702f00b0"
     }'

Response Handling

Success Response

When authorization is successful, you'll receive:

{
  "status": 200,
  "message": "The request will be processed."
}

Key Response Fields

FieldTypeDescription
statusintegerHTTP status code (200 for success)
messagestringConfirmation message indicating the request is being processed

Error Responses

Validation Errors

{
  "errors": {
    "externalId": [
      "The externalId field is required."
    ]
  },
  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
  "title": "One or more validation errors occurred.",
  "status": 400,
  "traceId": "00-6af59d173e66ad4eb215987cd15d57af-bea3981476c0f347-00"
}

Best Practices

💡

Security Tips

  • Always validate transaction details before authorization
  • Use HTTPS for all API requests
  • Store access tokens securely
  • Implement proper error handling and logging

Recommended Workflow

  1. Create Payout: Generate payout with requireAuth=true
  2. Verify Status: Confirm transaction status is PendingAuth
  3. Review Details: Validate transaction information
  4. Authorize: Call the authorization endpoint
  5. Handle Response: Process success/error responses appropriately
  6. Monitor: Track transaction status changes via webhooks

Next Steps


Support & Resources

Need assistance with your integration?

  • Technical Support: Contact our support team for integration help
  • API Documentation: Complete endpoint reference and guides
🚀

Pro Tip: Test your authorization workflow in our sandbox environment before implementing in production. This ensures your integration handles all scenarios correctly.