Xfers cutting_edge API

The cutting_edge API from Xfers — 2 operation(s) for cutting_edge.

OpenAPI Specification

xfers-cutting-edge-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  description: Welcome to Xfers' API documentation. You can find information on our API endpoint specific to your country.
  version: '3'
  title: Xfers Bank Account cutting_edge API
  contact:
    name: Contact us through our help desk
    url: https://bit.ly/XfersSupport
servers:
- description: Indonesia Production
  url: https://id.xfers.com/api
- description: Indonesia Sandbox for testing
  url: https://sandbox-id.xfers.com/api
tags:
- name: cutting_edge
paths:
  /v4/accounts:
    get:
      operationId: getApiV4AccountsId
      summary: Get Account Info (Coming Soon)
      description: This API displays the account information, including the storage limits.
      tags:
      - cutting_edge
      x-code-samples:
      - lang: Shell
        source: "curl --location --request GET \"$BASE_URL/v4/accounts\" \\\r\n  --header \"Content-Type: application/vnd.api+json\" \\\r\n  --header \"Authorization: Bearer $CUSTOMER_API_KEY\""
      security:
      - v4XfersAuth: []
      parameters:
      - name: fields
        style: deepObject
        in: query
        description: Refer to https://jsonapi.org/format/#fetching-sparse-fieldsets
        allowReserved: true
        required: false
        explode: true
        schema:
          type: object
          example:
            accounts: balance,wallet_id,limitations
      responses:
        '200':
          description: Success
          content:
            application/vnd.api+json:
              examples:
                Limitation excluded:
                  summary: fields[accounts]=balance,currency,wallet_name
                  value:
                    data:
                    - id: account_48831b3a93e84e9a8dac8a7e11f5659e
                      type: accounts
                      attributes:
                        balance: '150.00'
                        currency: sgd
                        wallet_name: Digital Goods Wallet
                Limitations included:
                  summary: fields[accounts]=limitations
                  value:
                    data:
                    - id: account_48831b3a93e84e9a8dac8a7e11f5659e
                      type: accounts
                      attributes:
                        limitations:
                          credit_card_daily:
                            used: 1200
                            remaining: 800
                            max: 2000
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/definitions/Accounts'
  /v4/direct_bank_transfer_payments:
    post:
      operationId: createDirectBankTransferPayment
      x-code-samples:
      - lang: Shell
        source: "curl --location --request POST \"$BASE_URL/v4/direct_bank_transfer_payments\" \\\r\n  --header \"Content-Type: application/vnd.api+json\" \\\r\n  --header \"Authorization: Bearer $CUSTOMER_API_KEY\" \\\r\n  --form \"amount=100\" \\\r\n  --form \"external_id=ref_20200101_0001\" \\\r\n  --form \"source_bank_account_id=12345\""
      tags:
      - cutting_edge
      summary: Create Direct Bank Transfer Payment (Coming Soon)
      description: "The following API will allow you to make a Direct Bank Transfer Payment. Using Direct Bank Transfer has the advantage of having higher transaction limits as compared to normal Charge which uses your wallet balance (`/charges`). The API token used in Authorization header should be your customer's API token.\n\n In the response, you will have information about the bank account to top up to. Show this information to your customer for them to make a bank transfer. They need to put the `unique_topup_identifier` in the comments field when doing a bank transfer for Xfers to identify that their transfer is for this transaction."
      security:
      - v4XfersAuth: []
      parameters:
      - name: amount
        in: query
        description: Amount for doing the payment
        schema:
          type: float
        example: 100
        required: true
      - name: external_id
        in: query
        description: The merchant's reference id
        schema:
          type: string
        example: ref_20200101_0001
        required: true
      - name: callback_url
        in: query
        description: Merchant's callback url for sending notification after payment success
        schema:
          type: string
        example: http://your-callback-url
        required: false
      responses:
        '200':
          description: Success
          content:
            application/vnd.api+json:
              example:
                data:
                  id: contract_9b562994c4274d9993ba93c94619a8f6
                  type: direct_bank_transfer_payments
                  attributes:
                    amount: '3000.00'
                    external_id: ref_20200101_0001
                    status: processing
                    created_at: '2020-01-02T15:33:45+08:00'
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/definitions/DirectBankTransferContract'
        4XX:
          $ref: '#/components/responses/v4Error:4XX'
    get:
      operationId: listDirectBankTransferPayments
      x-code-samples:
      - lang: Shell
        source: "curl --location --request GET \"$BASE_URL/v4/inter_wallet_payments\" \\\r\n  --header \"Content-Type: application/vnd.api+json\" \\\r\n  --header \"Authorization: Bearer $CUSTOMER_API_KEY\""
      tags:
      - cutting_edge
      summary: List Direct Bank Transfer Payments (Coming Soon)
      description: Retrive a previously created direct bank transfer payment. You can use this to check the status, whether it has been completed or still processing. The API token used in Authorization header should be your customer's API token.
      security:
      - v4XfersAuth: []
      responses:
        '200':
          description: Success
          content:
            application/vnd.api+json:
              example:
                data:
                - id: contract_9b562994c4274d9993ba93c94619a8f6
                  type: direct_bank_transfer_payments
                  attributes:
                    amount: '3000.00'
                    external_id: ref_20200101_0001
                    status: completed
                    created_at: '2019-04-12T07:10:50Z'
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      $ref: '#/components/definitions/DirectBankTransferContract'
        4XX:
          $ref: '#/components/responses/v4Error:4XX'
components:
  definitions:
    Accounts:
      type: array
      items:
        type: object
        properties:
          id:
            type: string
            description: Entity's unique identifier in Xfers
          type:
            type: string
            description: Entity's type
          attributes:
            type: object
            description: Entity's attributes
            properties:
              balance:
                type: string
              currency:
                type: string
              wallet_name:
                type: string
              wallet_id:
                type: integer
              limitations:
                type: object
    DirectBankTransferContract:
      type: object
      properties:
        id:
          type: string
          description: Entity's unique identifier in Xfers
        type:
          type: string
          description: Entity's type
        attributes:
          type: object
          description: Entity's attributes
          properties:
            amount:
              type: float
            status:
              type: string
            external_id:
              type: string
            created_at:
              type: string
              description: Time ISO8601
  schemas:
    jsonApi:errorResponse:
      _comment: https://jsonapi.org/format/#errors
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
                description: Xfers' error code XFEXXX
              title:
                type: string
                description: Error description summary
              detail:
                type: string
                description: Error details
  responses:
    v4Error:4XX:
      content:
        application/vnd.api+json:
          schema:
            $ref: '#/components/schemas/jsonApi:errorResponse'
  securitySchemes:
    X-XFERS-USER-API-KEY:
      type: apiKey
      name: X-XFERS-USER-API-KEY
      in: header
      description: You can retrieve this by using [get_token API](../sg/api/cutting-edge#operation/getToken)
externalDocs:
  description: Find out more about Xfers
  url: https://id.xfers.com
x-tagGroups:
- name: User Management
  tags:
  - Registration
  - User Account
  - Bank Account
  - E-signature
- name: Payments
  tags:
  - Charge
  - Payout
  - Withdraw
  - Intents
- name: Loans
  tags:
  - Loans
  - Disbursements
  - Repayments
- name: Appendix
  tags:
  - Testing
  - Error Response
  - Pagination
  - Callback Configuration
  - Try it out with Postman