LayUp Technologies PaymentServiceV2 API
The PaymentServiceV2 API from LayUp Technologies — 2 operation(s) for paymentservicev2.
The PaymentServiceV2 API from LayUp Technologies — 2 operation(s) for paymentservicev2.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/layup-technologies-paymentservicev2-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Layup endpoints AbsaDebiCheckService Payment Service V2 API
version: 1.4.16
description: 'Welcome to The Layup Swagger page. This page allows developers to interactively explore the API. For more detailed documentation see [The Layup documentation page](https://documentation.layup.co.za/).
# Introduction
## What is LayUp
LayUp is a lay-by payment solution. LayUp Schedules payments and ensures that your clients pay securely, effectively and on time. Depending on your parameters LayUp schedules a payment plan for your clients. Once a payment plan has been completed we notify you. There are 3 stories that are of importance to a merchant:
1. Order Creation
2. Deposit Received (and holding Stock for your client)
3. Order Completion.
LayUp allows you to take full control over the entire payment process if you wish to do so. We also provide a convenient front-end for users to use. The front-end should significantly reduce the time to integrate and get you started using LayUp as soon as possible.
Once an order is completed a notification will be sent to the merchant so that you can provide the client with their product.
## How to use LayUp
As a merchant who wants to place an order through LayUp, you want to send the relevant information to the LayUp API to create the order. The API will return an order ID. Unless your integration is using a custom user interface, you want to send the user to the LayUp customer payment widget. The URL for this widget is <u>https://shopper.layup.co.za/order/{orderId}</u> for production and <u>https://sandbox.layup.co.za/order/{orderId}</u> for sandbox.
'
servers:
- url: http://localhost:3000
- url: https://localhost:3000
- url: wss://localhost:3000
security:
- apiKey:
- read
- write
tags:
- name: PaymentServiceV2
paths:
/v2/payments:
post:
operationId: PaymentServiceV2_Create
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/modelPaymentRedirectResponse'
'204':
description: Successfully processed the request, no content.
'403':
description: Returned when the user does not have permission to access the resource.
'404':
description: Returned when the resource does not exist.
parameters:
- name: _id
in: query
required: false
schema:
type: string
tags:
- PaymentServiceV2
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/modelPaymentRequestV2'
required: true
/v2/payments-report:
get:
operationId: PaymentServiceV2_GetReport
responses:
'200':
description: A successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/modelPaymentReportResponse'
'204':
description: Successfully processed the request, no content.
'403':
description: Returned when the user does not have permission to access the resource.
'404':
description: Returned when the resource does not exist.
parameters:
- name: merchantId
in: query
required: false
schema:
type: string
- name: skip
in: query
required: false
schema:
type: integer
format: int32
- name: limit
in: query
required: false
schema:
type: integer
format: int32
- name: paid
in: query
required: false
schema:
type: boolean
- name: orderId
in: query
required: false
schema:
type: string
- name: paymentPlanId
in: query
required: false
schema:
type: string
- name: userId
in: query
required: false
schema:
type: string
- name: fromDate
in: query
required: false
schema:
type: string
- name: toDate
in: query
required: false
schema:
type: string
- name: method
in: query
required: false
schema:
type: string
- name: type
in: query
required: false
schema:
type: string
- name: search
in: query
required: false
schema:
type: string
- name: fromDatePayments
in: query
required: false
schema:
type: string
- name: toDatePayments
in: query
required: false
schema:
type: string
- name: settled
in: query
required: false
schema:
type: string
- name: sort
in: query
required: false
style: form
explode: true
schema:
type: array
items:
type: string
- name: failed
in: query
required: false
schema:
type: boolean
- name: provider
in: query
required: false
schema:
type: string
- name: destinationId
in: query
required: false
schema:
type: string
- name: destinationType
in: query
required: false
schema:
type: string
tags:
- PaymentServiceV2
components:
schemas:
modelReportPayment:
type: object
properties:
id:
type: string
amount:
type: number
format: double
client:
type: string
createdAt:
type: string
datePaid:
type: string
due:
type: string
fee:
type: number
format: double
fees:
type: array
items:
type: object
$ref: '#/components/schemas/modelFee'
feesPerProduct:
type: array
items:
type: object
$ref: '#/components/schemas/modelFeePerProduct'
locked:
type: boolean
orderName:
type: string
orderReference:
type: string
paymentMethod:
type: string
paymentStatus:
type: string
paymentType:
type: string
settlementBatch:
type: string
state:
type: string
updatedAt:
type: string
verifiedAt:
type: string
dateSettled:
type: string
modelPaymentRedirectResponse:
type: object
properties:
url:
type: string
parameters:
type: array
items:
type: object
$ref: '#/components/schemas/modelNameAndValue'
method:
type: string
_id:
type: string
checkoutId:
type: string
modelPaymentRequestV2:
type: object
properties:
destinationId:
type: string
amount:
type: integer
format: int32
redirectUrl:
type: string
paymentMethod:
type: string
paymentProvider:
type: string
destinationType:
type: string
title: paymentPlan | invoice
connectorData:
$ref: '#/components/schemas/modelConnectorDataV2'
save:
type: boolean
modelFeePerProduct:
type: object
properties:
quantity:
type: number
format: double
amountTotal:
type: number
format: double
amountExcludingVAT:
type: number
format: double
amountVAT:
type: number
format: double
product:
$ref: '#/components/schemas/modelProduct'
modelPaymentReportResponse:
type: object
properties:
payments:
type: array
items:
type: object
$ref: '#/components/schemas/modelReportPayment'
export:
type: array
items:
type: object
$ref: '#/components/schemas/modelReportExport'
modelNameAndValue:
type: object
properties:
name:
type: string
value:
type: string
modelConnectorDataV2:
type: object
properties:
bankTransactionId:
type: string
modelProduct:
type: object
properties:
_id:
type: string
name:
type: string
displayName:
type: string
feeType:
type: string
method:
type: string
billingType:
type: string
modelReportExport:
type: object
properties:
client:
type: string
amount:
type: number
format: double
createdAt:
type: string
verifiedAt:
type: string
due:
type: string
fee:
type: number
format: double
orderName:
type: string
orderReference:
type: string
paymentStatus:
type: string
paymentType:
type: string
settlementBatch:
type: string
state:
type: string
updatedAt:
type: string
datePaid:
type: string
dateSettled:
type: string
modelFee:
type: object
properties:
id:
type: string
productName:
type: string
amountExcludingVAT:
type: number
format: double
amountVAT:
type: number
format: double
amountTotal:
type: number
format: double
merchantId:
type: string
createdAt:
type: string
updatedAt:
type: string
settlementId:
type: string
paymentId:
type: string
securitySchemes:
apiKey:
type: apiKey
name: apikey
in: header