Payments
Payments provide all the information you need about the funds received into a pot. On this page, we'll dive into the different payment endpoints you can use to manage payments programmatically. We'll look at how to query, create, and update payments.
The payment model
The payment model contains all the information about your payments, including who made the payment, summary payment details and currency.
Monetary values are in the smallest currency unit. e.g. £1.50 would be represented as 150.
Properties
- Name
 id- Type
 - string
 - Description
 Unique identifier for the payment.
- Name
 amount- Type
 - integer
 - Description
 The amount contributred into the pot including any tip.
- Name
 created_at- Type
 - timestamp
 - Description
 Timestamp of when the payment was created.
- Name
 pot- Type
 - string
 - Description
 The unique identifier of the pot that the payment was made into.
- Name
 billing_details- Type
 - hash
 - Description
 The name and email of the person who made the payment.
- Name
 billing_details.name- Type
 - string
 - Description
 The name of the person that made the payment.
- Name
 billing_details.email- Type
 - string
 - Description
 The emaill address of the person that made the payment.
- Name
 customer- Type
 - string
 - Description
 The unique identifier of the customer that owns the pot the payment was made into.
- Name
 status- Type
 - enum
 - Description
 The status of the payment. The statuses are
authorised,paid,refunded,fully_refunded,partially_refunded,failed.
- Name
 currency- Type
 - string
 - Description
 The currency the payment was received in.
- Name
 note- Type
 - string
 - Description
 The message left on the payment.
- Name
 metadata- Type
 - hash
 - Description
 Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
- Name
 amount_details- Type
 - hash
 - Description
 A breakdown of the payment, including tip and fees.
- Name
 amount_details.contribution- Type
 - integer
 - Description
 The amount the contributor wants to add to contribute to the pot.
- Name
 amount_details.processing_fee- Type
 - integer
 - Description
 The service fee charged to process the payment
- Name
 amount_details.net- Type
 - integer
 - Description
 The total amount minus tip and service fee.
- Name
 descriptor- Type
 - string
 - Description
 The string shown on a contributors card statement. 20 characters maximum.
- Name
 payment_method_details- Type
 - hash
 - Description
 Details of the card used to make the payment.
- Name
 payment_method_details.country- Type
 - string
 - Description
 The country the card originates
- Name
 payment_method_details.exp_month- Type
 - integer
 - Description
 The month that the card expires
- Name
 payment_method_details.exp_year- Type
 - integer
 - Description
 The year that the card expires
- Name
 payment_method_details.last4- Type
 - string
 - Description
 The last 4 digits of the card number
- Name
 payment_method_details.provider- Type
 - string
 - Description
 The card network providing the payment. e.g
visa,mastercard.
- Name
 failure_details- Type
 - hash
 - Description
 Details on why the payment failed
- Name
 failure_details.code- Type
 - string
 - Description
 Payment failure code.
- Name
 failure_details.message- Type
 - string
 - Description
 An explanation on why the payment failed.
List all payments
This endpoint allows you to retrieve a paginated list of all your pots. By default, a maximum of ten pots are shown per page.
Optional attributes
- Name
 limit- Type
 - integer
 - Description
 Limit the number of pots returned.
- Name
 page- Type
 - integer
 - Description
 The page you wish to fetch.
- Name
 customer- Type
 - string
 - Description
 The unique identifier of the customer that you wish to retrieve payments for.
- Name
 pot- Type
 - string
 - Description
 The unique identifier of the pot that you wish to retrieve payments for.
Request
curl -G https://api.collctiv.com/v1/payments \
  -H "Authorization: Bearer {token}" \
  -d limit=3
Response
{
  "has_more": false,
  "data": [
    {
      "id": "999fe8d5-1615-414b-83fc-2740b3c4a899",
      "amount": 2100,
      "created_at": 692233200,
      "pot": "d4748db4-7863-4fa0-9a77-3cd329d5e652",
      "billing_details": {
        "name": "Steve Connors",
        "email": "steve.connors@example.com"
      },
      "customer": "117b2b86-4b21-4a67-8592-c267a7ba7997",
      "status": "paid",
      "currency": "gbp",
      "note": "Thanks so much for organising",
      "metadata": {},
      "amount_details": {
        "contribution": 2000,
        "fee": 100,
        "net": 1900
      },
      "descriptor": "MyCo-Wedding Pot",
      "payment_method_details": {
        "country": "GB",
        "exp_month": 4,
        "exp_year": 2024,
        "last4": "1234",
        "provider": "visa"
      }
    },
    {
      "id": "3b241101-e2bb-4255-8caf-4136c566a962"
      // ...
    }
  ]
}
Retrieve a payment
This endpoint allows you to retrieve a payment by providing the payment id. Refer to the list at the top of this page to see which properties are included with payment objects.
Request
curl https://api.collctiv.com/v1/payments/999fe8d5-1615-414b-83fc-2740b3c4a899 \
  -H "Authorization: Bearer {token}"
Response
{
     "id": "999fe8d5-1615-414b-83fc-2740b3c4a899",
      "amount": 2100,
      "created_at": 692233200,
      "pot": "d4748db4-7863-4fa0-9a77-3cd329d5e652",
      "billing_details": {
        "name": "Steve Connors",
        "email": "steve.connors@example.com"
      },
      "customer": "117b2b86-4b21-4a67-8592-c267a7ba7997",
      "status": "paid",
      "currency": "gbp",
      "note": "Thanks so much for organising",
      "metadata": {},
      "amount_details": {
        "contribution": 2000,
        "fee": 100,
        "net": 1900
      },
      "descriptor": "MyCo-Wedding Pot",
      "payment_method_details": {
        "country": "GB",
        "exp_month": 4,
        "exp_year": 2024,
        "last4": "1234",
        "provider": "visa"
      }
}