openapi: 3.0.3 info: title: PayMongo Checkout Sessions Customers API description: PayMongo is a Philippine payments platform. The REST API lets businesses accept payments via cards, GCash, Maya (PayMaya), GrabPay, ShopeePay, QR Ph, BillEase (buy-now-pay-later), and direct online banking, using the Payment Intent / Payment Method workflow, hosted Checkout Sessions, Payment Links, Customers, Refunds, and Webhooks. All amounts are integers in centavos (1 PHP = 100). PHP is the only settlement currency (card intents may optionally be switched to USD). version: '2020-08-08' termsOfService: https://www.paymongo.com/terms contact: name: PayMongo Developer Support email: support@paymongo.com url: https://docs.paymongo.com servers: - url: https://api.paymongo.com/v1 description: Production (live and test mode selected by API key prefix) security: - basicAuth: [] tags: - name: Customers paths: /customers: post: operationId: createCustomer tags: - Customers summary: Create a Customer requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CustomerCreate' responses: '200': description: Customer created content: application/json: schema: $ref: '#/components/schemas/GenericResource' '400': $ref: '#/components/responses/Error' get: operationId: listCustomers tags: - Customers summary: List Customers responses: '200': description: A list of Customers content: application/json: schema: $ref: '#/components/schemas/GenericList' /customers/{id}: get: operationId: retrieveCustomer tags: - Customers summary: Retrieve a Customer parameters: - $ref: '#/components/parameters/ResourceId' responses: '200': description: Customer content: application/json: schema: $ref: '#/components/schemas/GenericResource' '404': $ref: '#/components/responses/Error' patch: operationId: updateCustomer tags: - Customers summary: Update a Customer parameters: - $ref: '#/components/parameters/ResourceId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CustomerCreate' responses: '200': description: Customer updated content: application/json: schema: $ref: '#/components/schemas/GenericResource' delete: operationId: deleteCustomer tags: - Customers summary: Delete a Customer parameters: - $ref: '#/components/parameters/ResourceId' responses: '200': description: Customer deleted content: application/json: schema: $ref: '#/components/schemas/GenericResource' components: schemas: ErrorResponse: type: object properties: errors: type: array items: type: object properties: code: type: string detail: type: string source: type: object properties: pointer: type: string attribute: type: string GenericList: type: object properties: data: type: array items: $ref: '#/components/schemas/GenericResource' has_more: type: boolean GenericResource: type: object properties: data: type: object properties: id: type: string type: type: string attributes: type: object additionalProperties: true CustomerCreate: type: object required: - data properties: data: type: object properties: attributes: type: object required: - first_name - last_name - email - phone - default_device properties: first_name: type: string last_name: type: string email: type: string phone: type: string default_device: type: string enum: - email - phone responses: Error: description: Error response content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' parameters: ResourceId: name: id in: path required: true schema: type: string description: The identifier of the resource (e.g. pi_..., pm_..., pay_...). securitySchemes: basicAuth: type: http scheme: basic description: HTTP Basic authentication. Provide your API key as the Basic-auth username (secret key sk_test_* / sk_live_* for server-side calls; for calls that accept the public key pk_test_* / pk_live_*, the public key goes in the username field). The password field is left blank unless a call requires both keys.