Integrations

Integrations

Open in ChatGPT
Ask ChatGPT about this page
Open in Claude
Ask Claude about this page

Payment Request Handling

Payment requests are managed through Frappe's Integration Request doctype, providing comprehensive logging and status tracking.

Integration Request Lifecycle

Status Description
Queued Payment request created, awaiting processing
Authorized Payment authorized by gateway (pre-capture)
Completed Payment successfully completed
Failed Payment failed, check error field
Cancelled Payment cancelled/expired

Request Flow

# 1. Create payment request
integration_request = create_request_log(
    data=payment_details,
    service_name="Stripe"
)

# 2. Process payment
controller = get_payment_gateway_controller("Stripe")
response = controller.create_request(payment_details)

# 3. Handle callback
# Gateway webhook calls back with:
# - integration_request.name (token)
# - payment status
# - transaction details

Status Updates

# Update integration request status
integration_request.update_status(
    data={"transaction_id": "txn_123"},
    status="Completed"
)

# Gateway controllers can update directly
integration_request.db_set("status", "Completed", update_modified=False)
Last updated 2 months ago
Was this helpful?
Thanks!