Paystack Verification API
Identity, BVN, bank account, card BIN, country, bank, and address-verification lookups used to validate customers, beneficiary accounts, and cards before transacting.
Identity, BVN, bank account, card BIN, country, bank, and address-verification lookups used to validate customers, beneficiary accounts, and cards before transacting.
openapi: 3.0.1
info:
title: Paystack Verification API
description: Identity, BVN, account number, card BIN, country, bank, and address-verification lookups used to validate customers,
banks, and cards before transacting.
version: 1.0.0
contact:
name: Paystack Support
url: https://support.paystack.com
email: support@paystack.com
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
servers:
- url: https://api.paystack.co
description: Base API endpoint
tags:
- name: Verification
paths:
/bvn/match:
post:
tags:
- Verification
summary: Match Service
operationId: verification_bvnMatch
requestBody:
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/paths/~1bvn~1match/post/requestBody/content/application~1json/schema'
application/json:
schema:
type: object
required:
- account_number
- bank_code
- bvn
properties:
account_number:
description: Bank Account Number
type: string
bank_code:
description: You can get the list of banks codes by calling the List Bank endpoint
type: integer
bvn:
description: 11 digits Bank Verification Number
type: string
first_name:
description: Customer's first name
type: string
middle_name:
description: Customer's middle name
type: string
last_name:
description: Customer's last name
type: string
responses:
'201':
$ref: '#/paths/~1plan/get/responses/200'
'401':
$ref: '#/paths/~1plan/get/responses/401'
default:
description: Server error
/bank/resolve_bvn/{bvn}:
get:
tags:
- Verification
summary: Resolve BVN
operationId: verification_resolveBvn
parameters:
- name: bvn
in: path
required: true
schema:
type: string
responses:
'200':
$ref: '#/paths/~1plan/get/responses/200'
'401':
$ref: '#/paths/~1plan/get/responses/401'
'404':
$ref: '#/paths/~1plan/get/responses/401'
default:
description: Server error
/bank/resolve:
get:
tags:
- Verification
summary: Resolve Account Number
operationId: verification_resolveAccountNumber
parameters:
- name: account_number
in: query
schema:
type: integer
example: 0022728151
- name: bank_code
in: query
schema:
type: integer
example: '063'
responses:
'200':
$ref: '#/paths/~1plan/get/responses/200'
'401':
$ref: '#/paths/~1plan/get/responses/401'
'404':
$ref: '#/paths/~1plan/get/responses/401'
default:
description: Server error
/decision/bin/{bin}:
get:
tags:
- Verification
summary: Resolve Card BIN
operationId: verification_resolveCardBin
parameters:
- name: bin
in: path
required: true
schema:
type: string
responses:
'200':
$ref: '#/paths/~1plan/get/responses/200'
'401':
$ref: '#/paths/~1plan/get/responses/401'
'404':
$ref: '#/paths/~1plan/get/responses/401'
default:
description: Server error
/country:
get:
tags:
- Verification
summary: List Countries
operationId: verification_listCountries
responses:
'200':
$ref: '#/paths/~1plan/get/responses/200'
'401':
$ref: '#/paths/~1plan/get/responses/401'
'404':
$ref: '#/paths/~1plan/get/responses/401'
default:
description: Server error
/bank:
get:
tags:
- Verification
summary: Fetch Banks
operationId: verification_fetchBanks
parameters:
- in: query
name: country
schema:
type: string
- in: query
name: pay_with_bank_transfer
schema:
type: boolean
- in: query
name: use_cursor
schema:
type: boolean
- in: query
name: perPage
schema:
type: integer
- in: query
name: next
schema:
type: string
- in: query
name: previous
schema:
type: string
- in: query
name: gateway
schema:
type: string
responses:
'200':
$ref: '#/paths/~1plan/get/responses/200'
'401':
$ref: '#/paths/~1plan/get/responses/401'
'404':
$ref: '#/paths/~1plan/get/responses/401'
default:
description: Server error
/address_verification/states:
get:
tags:
- Verification
summary: List States (AVS)
operationId: verification_avs
parameters:
- in: query
name: type
schema:
type: string
- in: query
name: country
schema:
type: string
- in: query
name: currency
schema:
type: string
responses:
'200':
$ref: '#/paths/~1plan/get/responses/200'
'401':
$ref: '#/paths/~1plan/get/responses/401'
'404':
$ref: '#/paths/~1plan/get/responses/401'
default:
description: Server error
components:
securitySchemes:
bearerAuth:
type: http
scheme: bearer
schemas:
Customer:
allOf:
- type: object
required:
- email
properties:
email:
description: Customer's email address
type: string
- type: object
properties:
first_name:
description: Customer's first name
type: string
last_name:
description: Customer's last name
type: string
phone:
description: Customer's phone number
type: string
metadata:
description: Stringified JSON object of custom data
type: string
- type: object
required:
- authorization_code
properties:
authorization_code:
description: Customer's authorization code to be deactivated
type: string
- type: object
required:
- customer
properties:
customer:
description: Customer's code, or email address
type: string
risk_action:
description: "One of the possible risk actions [ default, allow, deny ]. allow to whitelist. \ndeny to blacklist.\
\ Customers start with a default risk action.\n"
type: string
enum:
- default
- allow
- deny
- type: object
required:
- type
- country
- bvn
- bank_code
- account_number
properties:
type:
description: Predefined types of identification.
type: string
enum:
- bvn
- bank_account
country:
description: Two-letter country code of identification issuer
type: string
bvn:
description: Customer's Bank Verification Number
type: string
bank_code:
description: You can get the list of bank codes by calling the List Banks endpoint (https://api.paystack.co/bank).
type: string
account_number:
description: Customer's bank account number.
type: string
value:
description: Customer's identification number. Required if type is bvn
type: string
Error:
type: object
properties:
status:
type: boolean
message:
type: string
Response:
type: object
properties:
status:
type: boolean
message:
type: string
data:
type: object
security:
- bearerAuth: []