Modern PetstoreAPI Docs
HomeGuidesModern PetstoreAPI
Classic PetstoreAPI
HomeGuidesModern PetstoreAPI
Classic PetstoreAPI
  1. Payments
  • Pet
    • Get Pet
      GET
    • Update Pet
      PUT
    • Delete Pet
      DELETE
    • Create Pet
      POST
    • List Pets
      GET
    • Upload Pet Image
      POST
  • Chat
    • Pet Care AI Consultation
      POST
  • Payments
    • Pay Order
      POST
  • Store
    • Get Store Inventory
      GET
    • List Inventory
      GET
    • Create Order
      POST
    • Get Order
      GET
    • Cancel Order
      DELETE
    • Callback Example
      POST
  • User
    • Create User
      POST
    • Update User
      PUT
    • Get User
      GET
    • Delete User Account
      DELETE
    • Create Authentication Token
      POST
  • Webhooks
    • Order Status Changed Event
    • Payment Succeeded Event
  • Schemas
    • Pet
    • PetCollection
    • User
    • OrderPayment
    • Bank Card
    • Bank Account
    • Category
    • Links
    • Order
    • ApiResponse
    • Tag
    • Error
HomeGuidesModern PetstoreAPI
Classic PetstoreAPI
HomeGuidesModern PetstoreAPI
Classic PetstoreAPI
  1. Payments

Pay Order

POST
https://api.petstoreapi.com/v1/orders/{id}/payment
Process payment for an existing order.

Payment Workflow#

Payment processing follows this workflow:
1.
Create Order: First create an order using POST /orders (status: placed)
2.
Submit Payment: Call this endpoint with payment details (card or bank account)
3.
Payment Processing: The payment is processed with status processing
4.
Payment Result:
Success: Payment status becomes succeeded, order status updates to approved
Failure: Payment status becomes failed, order remains placed and can be retried
5.
Receipt: After successful payment, retrieve the receipt from the order details
Security Note: Sensitive payment data (like CVC codes) are writeOnly and never returned in responses. Card numbers and account numbers are masked when read.

Request

Authorization
JWT Bearer
Add the parameter
Authorization
to Headers
Example:
Authorization: ********************
or
OAuth 2.0
Authorization Code
deviceCode
Add the parameter
Authorization
to Headers
,whose value is to concatenate the Token after the Bearer.
Example:
Authorization: Bearer ********************
Authorize URL: https://auth.petstoreapi.com/authorize
Token URL: https://auth.petstoreapi.com/token
Refresh URL: https://auth.petstoreapi.com/refresh
or
Path Params

Header Params

Body Params application/jsonRequired

Examples

Responses

🟢201Created
application/json
Payment successful
Body

Request Request Example
Shell
JavaScript
Java
Swift
cURL
curl --location --request POST 'https://api.petstoreapi.com/v1/orders/019b4139-1234-7abc-8def-123456789abc/payment' \
--header 'X-Tenant-ID: 550e8400-e29b-41d4-a716-446655440000' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "amount": "49.99",
    "currency": "GBP",
    "source": {
        "object": "card",
        "name": "J. Doe",
        "number": "4242424242424242",
        "cvc": "123",
        "expMonth": 12,
        "expYear": 2025,
        "addressLine1": "123 Fake Street",
        "addressLine2": "4th Floor",
        "addressCity": "London",
        "addressCountry": "gb",
        "addressPostCode": "N12 9XX"
    }
}'
Response Response Example
Card Payment
{
    "id": "2e3b4f5a-6b7c-8d9e-0f1a-2b3c4d5e6f7a",
    "amount": "49.99",
    "currency": "GBP",
    "source": {
        "object": "card",
        "name": "J. Doe",
        "number": "************4242",
        "cvc": "123",
        "expMonth": 12,
        "expYear": 2025,
        "addressCountry": "gb",
        "addressPostCode": "N12 9XX"
    },
    "status": "succeeded"
}
Modified at 2026-01-07 06:44:25
Previous
Pet Care AI Consultation
Next
Get Store Inventory
Built with