( ! ) Warning: Declaration of Jetpack_IXR_Client::query() should be compatible with IXR_Client::query(...$args) in C:\wamp64_2\www\docbase\wp-content\plugins\jetpack\class.jetpack-ixr-client.php on line 0
Call Stack
#TimeMemoryFunctionLocation
10.0000402648{main}( )...\index.php:0
20.0001402928require( 'C:\wamp64_2\www\docbase\wp-blog-header.php' )...\index.php:17
30.21599232232wp( )...\wp-blog-header.php:16
40.21599232256WP->main( )...\functions.php:1334
50.21599232256WP->parse_request( )...\class-wp.php:780
60.21649258944do_action_ref_array( )...\class-wp.php:399
70.21649258944WP_Hook->do_action( )...\plugin.php:565
80.21649258944WP_Hook->apply_filters( )...\class-wp-hook.php:332
90.21649259960rest_api_loaded( )...\class-wp-hook.php:308
100.21649259992rest_get_server( )...\rest-api.php:403
110.21649262928do_action( )...\rest-api.php:577
120.21659263304WP_Hook->do_action( )...\plugin.php:517
130.21659263304WP_Hook->apply_filters( )...\class-wp-hook.php:332
140.21739302504Jetpack_Core_Json_Api_Endpoints::register_endpoints( )...\class-wp-hook.php:308
150.21749310496Jetpack::load_xml_rpc_client( )...\class.core-rest-api-endpoints.php:64

( ! ) Warning: Cannot modify header information - headers already sent by (output started at C:\wamp64_2\www\docbase\wp-content\plugins\jetpack\class.jetpack-ixr-client.php:0) in C:\wamp64_2\www\docbase\wp-includes\rest-api\class-wp-rest-server.php on line 1762
Call Stack
#TimeMemoryFunctionLocation
10.0000402648{main}( )...\index.php:0
20.0001402928require( 'C:\wamp64_2\www\docbase\wp-blog-header.php' )...\index.php:17
30.21599232232wp( )...\wp-blog-header.php:16
40.21599232256WP->main( )...\functions.php:1334
50.21599232256WP->parse_request( )...\class-wp.php:780
60.21649258944do_action_ref_array( )...\class-wp.php:399
70.21649258944WP_Hook->do_action( )...\plugin.php:565
80.21649258944WP_Hook->apply_filters( )...\class-wp-hook.php:332
90.21649259960rest_api_loaded( )...\class-wp-hook.php:308
100.277111050832WP_REST_Server->serve_request( )...\rest-api.php:410
110.277211050488WP_REST_Server->send_header( )...\class-wp-rest-server.php:310
120.277211050816header ( )...\class-wp-rest-server.php:1762

( ! ) Warning: Cannot modify header information - headers already sent by (output started at C:\wamp64_2\www\docbase\wp-content\plugins\jetpack\class.jetpack-ixr-client.php:0) in C:\wamp64_2\www\docbase\wp-includes\rest-api\class-wp-rest-server.php on line 1762
Call Stack
#TimeMemoryFunctionLocation
10.0000402648{main}( )...\index.php:0
20.0001402928require( 'C:\wamp64_2\www\docbase\wp-blog-header.php' )...\index.php:17
30.21599232232wp( )...\wp-blog-header.php:16
40.21599232256WP->main( )...\functions.php:1334
50.21599232256WP->parse_request( )...\class-wp.php:780
60.21649258944do_action_ref_array( )...\class-wp.php:399
70.21649258944WP_Hook->do_action( )...\plugin.php:565
80.21649258944WP_Hook->apply_filters( )...\class-wp-hook.php:332
90.21649259960rest_api_loaded( )...\class-wp-hook.php:308
100.277111050832WP_REST_Server->serve_request( )...\rest-api.php:410
110.278311050432WP_REST_Server->send_header( )...\class-wp-rest-server.php:311
120.278311050752header ( )...\class-wp-rest-server.php:1762

( ! ) Warning: Cannot modify header information - headers already sent by (output started at C:\wamp64_2\www\docbase\wp-content\plugins\jetpack\class.jetpack-ixr-client.php:0) in C:\wamp64_2\www\docbase\wp-includes\rest-api\class-wp-rest-server.php on line 1762
Call Stack
#TimeMemoryFunctionLocation
10.0000402648{main}( )...\index.php:0
20.0001402928require( 'C:\wamp64_2\www\docbase\wp-blog-header.php' )...\index.php:17
30.21599232232wp( )...\wp-blog-header.php:16
40.21599232256WP->main( )...\functions.php:1334
50.21599232256WP->parse_request( )...\class-wp.php:780
60.21649258944do_action_ref_array( )...\class-wp.php:399
70.21649258944WP_Hook->do_action( )...\plugin.php:565
80.21649258944WP_Hook->apply_filters( )...\class-wp-hook.php:332
90.21649259960rest_api_loaded( )...\class-wp-hook.php:308
100.277111050832WP_REST_Server->serve_request( )...\rest-api.php:410
110.279411050624WP_REST_Server->send_header( )...\class-wp-rest-server.php:315
120.279411050992header ( )...\class-wp-rest-server.php:1762

( ! ) Warning: Cannot modify header information - headers already sent by (output started at C:\wamp64_2\www\docbase\wp-content\plugins\jetpack\class.jetpack-ixr-client.php:0) in C:\wamp64_2\www\docbase\wp-includes\rest-api\class-wp-rest-server.php on line 1762
Call Stack
#TimeMemoryFunctionLocation
10.0000402648{main}( )...\index.php:0
20.0001402928require( 'C:\wamp64_2\www\docbase\wp-blog-header.php' )...\index.php:17
30.21599232232wp( )...\wp-blog-header.php:16
40.21599232256WP->main( )...\functions.php:1334
50.21599232256WP->parse_request( )...\class-wp.php:780
60.21649258944do_action_ref_array( )...\class-wp.php:399
70.21649258944WP_Hook->do_action( )...\plugin.php:565
80.21649258944WP_Hook->apply_filters( )...\class-wp-hook.php:332
90.21649259960rest_api_loaded( )...\class-wp-hook.php:308
100.277111050832WP_REST_Server->serve_request( )...\rest-api.php:410
110.280311050512WP_REST_Server->send_header( )...\class-wp-rest-server.php:323
120.280311050832header ( )...\class-wp-rest-server.php:1762

( ! ) Warning: Cannot modify header information - headers already sent by (output started at C:\wamp64_2\www\docbase\wp-content\plugins\jetpack\class.jetpack-ixr-client.php:0) in C:\wamp64_2\www\docbase\wp-includes\rest-api\class-wp-rest-server.php on line 1762
Call Stack
#TimeMemoryFunctionLocation
10.0000402648{main}( )...\index.php:0
20.0001402928require( 'C:\wamp64_2\www\docbase\wp-blog-header.php' )...\index.php:17
30.21599232232wp( )...\wp-blog-header.php:16
40.21599232256WP->main( )...\functions.php:1334
50.21599232256WP->parse_request( )...\class-wp.php:780
60.21649258944do_action_ref_array( )...\class-wp.php:399
70.21649258944WP_Hook->do_action( )...\plugin.php:565
80.21649258944WP_Hook->apply_filters( )...\class-wp-hook.php:332
90.21649259960rest_api_loaded( )...\class-wp-hook.php:308
100.277111050832WP_REST_Server->serve_request( )...\rest-api.php:410
110.281011050576WP_REST_Server->send_header( )...\class-wp-rest-server.php:335
120.281111050944header ( )...\class-wp-rest-server.php:1762

( ! ) Warning: Cannot modify header information - headers already sent by (output started at C:\wamp64_2\www\docbase\wp-content\plugins\jetpack\class.jetpack-ixr-client.php:0) in C:\wamp64_2\www\docbase\wp-includes\rest-api\class-wp-rest-server.php on line 1762
Call Stack
#TimeMemoryFunctionLocation
10.0000402648{main}( )...\index.php:0
20.0001402928require( 'C:\wamp64_2\www\docbase\wp-blog-header.php' )...\index.php:17
30.21599232232wp( )...\wp-blog-header.php:16
40.21599232256WP->main( )...\functions.php:1334
50.21599232256WP->parse_request( )...\class-wp.php:780
60.21649258944do_action_ref_array( )...\class-wp.php:399
70.21649258944WP_Hook->do_action( )...\plugin.php:565
80.21649258944WP_Hook->apply_filters( )...\class-wp-hook.php:332
90.21649259960rest_api_loaded( )...\class-wp-hook.php:308
100.277111050832WP_REST_Server->serve_request( )...\rest-api.php:410
110.281811050624WP_REST_Server->send_header( )...\class-wp-rest-server.php:359
120.281811050992header ( )...\class-wp-rest-server.php:1762

( ! ) Warning: Cannot modify header information - headers already sent by (output started at C:\wamp64_2\www\docbase\wp-content\plugins\jetpack\class.jetpack-ixr-client.php:0) in C:\wamp64_2\www\docbase\wp-includes\rest-api\class-wp-rest-server.php on line 1762
Call Stack
#TimeMemoryFunctionLocation
10.0000402648{main}( )...\index.php:0
20.0001402928require( 'C:\wamp64_2\www\docbase\wp-blog-header.php' )...\index.php:17
30.21599232232wp( )...\wp-blog-header.php:16
40.21599232256WP->main( )...\functions.php:1334
50.21599232256WP->parse_request( )...\class-wp.php:780
60.21649258944do_action_ref_array( )...\class-wp.php:399
70.21649258944WP_Hook->do_action( )...\plugin.php:565
80.21649258944WP_Hook->apply_filters( )...\class-wp-hook.php:332
90.21649259960rest_api_loaded( )...\class-wp-hook.php:308
100.277111050832WP_REST_Server->serve_request( )...\rest-api.php:410
110.508311677968WP_REST_Server->send_headers( )...\class-wp-rest-server.php:475
120.508311677968WP_REST_Server->send_header( )...\class-wp-rest-server.php:1774
130.508311678544header ( )...\class-wp-rest-server.php:1762

( ! ) Warning: Cannot modify header information - headers already sent by (output started at C:\wamp64_2\www\docbase\wp-content\plugins\jetpack\class.jetpack-ixr-client.php:0) in C:\wamp64_2\www\docbase\wp-includes\rest-api\class-wp-rest-server.php on line 1762
Call Stack
#TimeMemoryFunctionLocation
10.0000402648{main}( )...\index.php:0
20.0001402928require( 'C:\wamp64_2\www\docbase\wp-blog-header.php' )...\index.php:17
30.21599232232wp( )...\wp-blog-header.php:16
40.21599232256WP->main( )...\functions.php:1334
50.21599232256WP->parse_request( )...\class-wp.php:780
60.21649258944do_action_ref_array( )...\class-wp.php:399
70.21649258944WP_Hook->do_action( )...\plugin.php:565
80.21649258944WP_Hook->apply_filters( )...\class-wp-hook.php:332
90.21649259960rest_api_loaded( )...\class-wp-hook.php:308
100.277111050832WP_REST_Server->serve_request( )...\rest-api.php:410
110.508311677968WP_REST_Server->send_headers( )...\class-wp-rest-server.php:475
120.509411677968WP_REST_Server->send_header( )...\class-wp-rest-server.php:1774
130.509411678288header ( )...\class-wp-rest-server.php:1762
{"id":4146,"date":"2021-11-04T16:24:46","date_gmt":"2021-11-04T16:24:46","guid":{"rendered":"http:\/\/sandbox.interswitchng.com\/docbase\/docs\/transfer-service-core-api-document\/transfer-service-core-api\/"},"modified":"2024-10-21T10:30:18","modified_gmt":"2024-10-21T10:30:18","slug":"transfer-service-core-api","status":"publish","type":"docs","link":"https:\/\/sandbox.interswitchng.com\/docbase\/docs\/transfer-service-core-api-document\/transfer-service-core-api\/","title":{"rendered":"Transfer Service Core API"},"content":{"rendered":"\n

Authentication API<\/h2>\n\n\n\n
\n\n\n\n

This API handles obtaining an access token for authentication. Use this endpoint to get an access token using client credentials<\/p>\n\n\n\n

Authentication URL: https:\/\/sandbox.interswitchng.com\/passport\/oauth\/token<\/strong><\/p>\n\n\n\n

Access tokens for all grant types can be obtained from the following URL:<\/p>\n\n\n\n

\nhttps:\/\/sandbox.interswitchng.com\/passport\/oauth\/token\n<\/div><\/figure>\n\n\n\n

HTTP Verb:<\/strong> POST<\/p>\n\n\n\n

Headers<\/strong><\/h4>\n\n\n\n

The Authentication API endpoints require a Basic authorization header. In addition, the request body is sent as a URL encoded form. As a result, the following headers would be set:<\/p>\n\n\n\n

Authorization:<\/strong> Basic <Base64Encoded string of client_id:client_secret><\/p>\n\n\n\n

Content-Type:<\/strong> application\/x-www-form-urlencoded<\/p>\n\n\n\n

Request Body<\/h4>\n\n\n\n
Field<\/th>Type<\/th>Required<\/th><\/tr><\/thead>
grant_type<\/td>String<\/td>Required<\/td><\/tr>
scope<\/td>String<\/td>Optional<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n

Sample Request Body<\/h4>\n\n\n\n
grant_type=client_credentials&scope=profile<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n

Response<\/h4>\n\n\n\n
Field<\/th>Description<\/th><\/tr><\/thead>
access_token<\/td>The access token that would be used to consume the secure apis<\/td><\/tr>
expires_in<\/td>The time this token will expire in seconds. Ensure that the token is renewed at least 30 seconds before the token expires to prevent expiry in flight<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n

Sample Response (success)<\/h4>\n\n\n\n
{ <\/code>
\"access_token\":\"eyJhbGciOiJSUzI1NiJ9.eyJhdWQiOlsicGFzc3BvcnQiXSwic2NvcGUiOlsicHJvZmlsZSJdLCJleHAiOjMwMTg1Mjk4ODksImp0aSI6IjBlYWYwMWIzLTM4M2QtNDFkNi1hOTgzLWI3OTIwNDU3ODBjMyIsImNsaWVudF9pZCI6InRlc3RjbGllbnQifQ.OaLlGSTLFHGu7553HNhzuBOIiQvdiNVNPAm5-opCq7JPugEG2ubPtLZLu2znr0aJkHR0BGiV2e9ZSrkp6cxYoT74SvY9b-2AE9giNdWpPgWMO6HqadL9re6ojkl9YU9uW_okjYUhTa-P_jOtWYUhbqi02SyUrN8m-SNI29IZPS-Q2J9Aq9zARiW7dVZWMBC8GHR_IL8V-GozaG782kIEUcBNfDGRnttV5qJwVpXomzyKlZDwEZKPOewh_1NVPvv7hDi79OfN63PiENvM4XLzDW9rFgKrRb6x43dpLfnoie1Id39eiCLGKX8ykrVEFg94jp1JCDpEDaexCcf05Dz5ag\",<\/code>
\"token_type\": \"bearer\",<\/code>
\"expires_in\": 43199,<\/code>
\"scope\": \"profile\",<\/code>
\"jti\": \"0eaf01b3-383d-41d6-a983-b792045780c3\"<\/code>
}<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n

Sample Response (failure)<\/h4>\n\n\n\n
{<\/code>
\"error\": \"invalid_request\",<\/code>
\"error_description\": \"Missing grant type\"<\/code>
}<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n

<\/p>\n\n\n\n

Transfer API<\/h2>\n\n\n\n
\n\n\n\n

Base URI: https:\/\/sandbox.interswitchng.com<\/h4>\n\n\n\n

1.\u00a0Credit Inquiry Request<\/h2>\n\n\n\n

This endpoint receives a request to confirm if an account specified in destinationAccountNumber<\/strong> <\/em>can be credited with a specified amount . <\/em><\/p>\n\n\n\n

On the successful completion of a credit inquiry, the transaction is logged in Transfer service and awaits a completion update with the same client reference sent in the inquiry or the transaction reference returned in the inquiry response.<\/p>\n\n\n\n

<\/p>\n\n\n\n

Version 1<\/strong><\/h2>\n\n\n\n

Endpoint<\/strong><\/p>\n\n\n\n

POST <base URI>\/transfers\/inquiries\/credit<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n


Headers<\/strong><\/p>\n\n\n\n

Authorization: Bearer {Passport Access Token}
Content-Type: application\/json<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n


Request Message description<\/h4>\n\n\n\n
Field #<\/th>Field name<\/th>Data type<\/th>Max length<\/th>Classification<\/th>Description<\/th><\/tr><\/thead>
1<\/td>sourceAccountNumber<\/td>String<\/td>50<\/td>Optional<\/td>Source Account number<\/td><\/tr>
2<\/td>sourceAccountName<\/td>String<\/td>200<\/td>Optional<\/td>Source Account Name<\/td><\/tr>
2<\/td>sourceBankVerificationNumber<\/td>String<\/td>100<\/td>Recommended<\/td>Source Customer Bank Verification Number<\/td><\/tr>
3<\/td>destinationAccountNumber<\/td>String<\/td>20<\/td>Mandatory<\/td>Destination Account Number<\/td><\/tr>
4<\/td>destinationInstitutionCode<\/td>String<\/td>3<\/td>Mandatory<\/td>Institution code , one of the codes assigned in ISW core<\/td><\/tr>
5<\/td>transactionAmount<\/td>Long<\/td>MAX<\/td>Optional<\/td>Amount in minor denomination<\/td><\/tr>
6<\/td>currencyCode<\/td>String<\/td>3<\/td>Mandatory<\/td>ISO currency code ( ISO Numeric Code)<\/td><\/tr>
7<\/td>clientRef<\/td>String<\/td>50<\/td>Mandatory<\/td>Unique reference per transaction<\/td><\/tr>
8<\/td>mobileNumber<\/td>String<\/td>20<\/td>Optional<\/td>Internationally formatted mobile number<\/td><\/tr>
9<\/td>emailAddress<\/td>String<\/td>100<\/td>Optional<\/td>Customer Email Address<\/td><\/tr>
10<\/td>paymentLocation<\/td>String<\/td>MAX<\/td>Optional<\/td>Payment Location<\/td><\/tr>
11<\/td>channelCode<\/td>Integer<\/td>MAX<\/td>Mandatory<\/td>Channel ID. Channel Appendix below for channel definitions<\/td><\/tr>
12<\/td>terminalId<\/td>String<\/td>8<\/td>Optional<\/td>TerminalID<\/td><\/tr>
13<\/td>destinationInstitutionAlias<\/td>String<\/td>–<\/td>Optional<\/td>Institutions Alias. Can be used instead of destinationInstitutionCode<\/td><\/tr>
14<\/td>mcc<\/td>String<\/td>4<\/td>Optional<\/td>The classification of the merchant\u2019s type of business product or service.<\/td><\/tr>
14<\/td>rrn<\/td>String<\/td>12<\/td>Optional<\/td>A reference number supplied by the system retaining the original source information and used to assist in locating that information or a copy thereof.<\/td><\/tr>
15<\/td>paymentLocation<\/td>String<\/td>40<\/td>Optional<\/td>The name and location of the card acceptor (such as a merchant or an ATM). <\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n

Response Message description<\/h4>\n\n\n\n
Field #<\/th>Field name<\/th>Data type<\/th>Description<\/th><\/tr><\/thead>
1<\/td>responseCode<\/td>String<\/td>Response Code<\/td><\/tr>
2<\/td>responseMessage<\/td>String<\/td>Response Message<\/td><\/tr>
3<\/td>accountName<\/td>String<\/td>Account Name<\/td><\/tr>
4<\/td>accountNumber<\/td>String<\/td>Account Number<\/td><\/tr>
5<\/td>clientRef<\/td>String<\/td>Initial reference sent by client if sent, or one auto generated by system<\/td><\/tr>
6<\/td>transactionReference<\/td>String<\/td>Unique transaction reference<\/td><\/tr>
7<\/td>bankVerificationNumber<\/td>String<\/td>Bank Verification Number<\/td><\/tr>
8<\/td>kycLevel<\/td>String<\/td>KYC Level<\/td><\/tr>
9<\/td>accountType<\/td>String<\/td>Current, Savings or Credit<\/td><\/tr>
10<\/td>accountCurrency<\/td>String<\/td>ISO currency<\/td><\/tr>
11<\/td>address<\/td>String<\/td>Receiver\u2019s address.   At present this attribute will not be used for any further processing.<\/td><\/tr>
12<\/td>countryCode<\/td>String<\/td>Country code of the transaction. This is the ISO country code.<\/td><\/tr>
13<\/td>canCredit<\/td>Boolean<\/td>If the account validation is successful for credit this will be true. Note: If true allow customer to proceed to complete the credit otherwise, fail the transaction. This is usually because the account is dormant, or the account cannot receive the amount specified.<\/strong><\/td><\/tr>
14<\/td>systemResponseCode<\/td>String<\/td>System Response code that is sometimes included in response in case of exceptions in the system. This helps with issue resolution.<\/td><\/tr>
15<\/td>action<\/td>String<\/td>Action on transaction as received from the middleware<\/td><\/tr>
16<\/td>settlementStatus<\/td>Status<\/td>Settlement status of  inquiry transaction. Default settlement status for Inquiry is NEW<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n


Sample request<\/strong><\/p>\n\n\n\n

{<\/code>
\"destinationAccountNumber \"<\/code> : \"0123456789\",<\/code>
\"sourceAccountNumber\": \"8096080641\",<\/code>
\"sourceAccountName\": \"Tolani Moshood\",<\/code>
\"destinationInstitutionCode\":\"KOP\",<\/code>
\"transactionAmount\": 300000,<\/code>
\"currencyCode\": \"566\",<\/code>
\"clientRef\"<\/code> : \"abc1222223knkj\",<\/code>
\"mobileNumber\":\"2348089546016\",<\/code>
\"emailAddress\"<\/code> : \"siryaya@gmail.com<\/a>\",<\/code>
\"channelCode\":2,    <\/code>
\"paymentLocation\": \"PBL,T,10360057075012,Adubiaro, DeborLaNG\"<\/code>
}<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n
Sample Response (success)<\/h5>\n\n\n\n
HTTP Status: 200 <\/code>
{<\/code>
\"accountType\": \"SAVINGS\",<\/code>
\"accountCurrency\": \"NGN\",<\/code>
\"address\": \"1 AYANBOYE STREET ANTHONY KOSOFE LAGOS\",<\/code>
\"responseCode\": \"00\",<\/code>
\"responseMessage\": \"Approved or completed successfully\",<\/code>
\"transactionReference\": \"CR|SUN|KOP|250720201707|237233\",<\/code>
\"bankVerificationNumber\": \"1234565667\",<\/code>
\"kycLevel\": \"1\",<\/code>
\"canCredit\": true,<\/code>
\"settlementStatus\": \"NEW\",<\/code>
\"action\": \"SUCCESS\"<\/code>
}<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n

Sample Response (invalid account)<\/h5>\n\n\n\n
HTTP Status: 409 Conflict<\/code>
{ <\/code>
\"clientRef\": \"abc1222223knkj\", <\/code>
\"responseCode\": \"39\", <\/code>
\"responseMessage\": \"Invalid Account\", <\/code>
\"transactionReference\": \"CR|SUN|KOP|231120201142|244092\", <\/code>
\"canCredit\": false, <\/code>
\"action\": \"FAILURE\" <\/code>
}<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n

<\/p>\n\n\n\n

Version <\/strong>2<\/h2>\n\n\n\n

Endpoint<\/strong><\/p>\n\n\n\n

POST <base URI>\/v2\/transfers\/inquiries\/credit<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n


Headers<\/strong><\/p>\n\n\n\n

Authorization: Bearer {Passport Access Token}
Content-Type: application\/json<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n


Request Message description<\/h4>\n\n\n\n
Field #<\/th>Field name<\/th>Data type<\/th>Max length<\/th>Classification<\/th>Description<\/th><\/tr><\/thead>
1<\/td>sourceAccountNumber<\/td>String<\/td>50<\/td>Optional<\/td>Source Account number<\/td><\/tr>
2<\/td>sourceAccountName<\/td>String<\/td>200<\/td>Optional<\/td>Source Account Name<\/td><\/tr>
2<\/td>sourceBankVerificationNumber<\/td>String<\/td>100<\/td>Recommended<\/td>Source Customer Bank Verification Number<\/td><\/tr>
3<\/td>destinationAccountNumber<\/td>String<\/td>20<\/td>Mandatory<\/td>Destination Account Number<\/td><\/tr>
4<\/td>destinationInstitutionCode<\/td>String<\/td>3<\/td>Mandatory<\/td>Destination Institution code assigned by ISW<\/td><\/tr>
5<\/td>transactionAmount<\/td>Long<\/td>MAX<\/td>Optional<\/td>Amount in minor denomination<\/td><\/tr>
6<\/td>currencyCode<\/td>String<\/td>3<\/td>Mandatory<\/td>ISO currency code ( ISO Numeric Code)<\/td><\/tr>
7<\/td>clientRef<\/td>String<\/td>50<\/td>Mandatory<\/td>Unique reference per transaction<\/td><\/tr>
8<\/td>mobileNumber<\/td>String<\/td>20<\/td>Optional<\/td>Internationally formatted mobile number<\/td><\/tr>
9<\/td>emailAddress<\/td>String<\/td>100<\/td>Optional<\/td>Customer Email Address<\/td><\/tr>
10<\/td>paymentLocation<\/td>String<\/td>MAX<\/td>Optional<\/td>Payment Location<\/td><\/tr>
11<\/td>channelCode<\/td>Integer<\/td>MAX<\/td>Mandatory<\/td>Channel ID. Channel Appendix below for channel definitions<\/td><\/tr>
12<\/td>terminalId<\/td>String<\/td>8<\/td>Optional<\/td>TerminalID<\/td><\/tr>
13<\/td>destinationInstitutionAlias<\/td>String<\/td>–<\/td>Optional<\/td>Institutions Alias. Can be used instead of destinationInstitutionCode<\/td><\/tr>
14<\/td>mcc<\/td>String<\/td>4<\/td>Optional<\/td>The classification of the merchant\u2019s type of business product or service.<\/td><\/tr>
14<\/td>rrn<\/td>String<\/td>12<\/td>Optional<\/td>A reference number supplied by the system retaining the original source information and used to assist in locating that information or a copy thereof.<\/td><\/tr>
15<\/td>paymentLocation<\/td>String<\/td>40<\/td>Optional<\/td>The name and location of the card acceptor (such as a merchant or an ATM). <\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n

Response Message description<\/h4>\n\n\n\n
Field #<\/th>Field name<\/th>Data type<\/th>Description<\/th><\/tr><\/thead>
1<\/td>responseCode<\/td>String<\/td>Response Code<\/td><\/tr>
2<\/td>responseMessage<\/td>String<\/td>Response Message<\/td><\/tr>
3<\/td>accountName<\/td>String<\/td>Account Name<\/td><\/tr>
4<\/td>accountNumber<\/td>String<\/td>Account Number<\/td><\/tr>
5<\/td>clientRef<\/td>String<\/td>Initial reference sent by client if sent, or one auto generated by system<\/td><\/tr>
6<\/td>transactionReference<\/td>String<\/td>Unique transaction reference<\/td><\/tr>
7<\/td>bankVerificationNumber<\/td>String<\/td>Bank Verification Number<\/td><\/tr>
8<\/td>kycLevel<\/td>String<\/td>KYC Level<\/td><\/tr>
9<\/td>accountType<\/td>String<\/td>Current, Savings or Credit<\/td><\/tr>
10<\/td>accountCurrency<\/td>String<\/td>ISO currency<\/td><\/tr>
11<\/td>address<\/td>String<\/td>Receiver\u2019s address.   At present this attribute will not be used for any further processing.<\/td><\/tr>
12<\/td>countryCode<\/td>String<\/td>Country code of the transaction. This is the ISO country code.<\/td><\/tr>
13<\/td>canCredit<\/td>Boolean<\/td>If the account validation is successful for credit this will be true. Note: If true allow customer to proceed to complete the credit otherwise, fail the transaction. This is usually because the account is dormant, or the account cannot receive the amount specified.<\/strong><\/td><\/tr>
14<\/td>systemResponseCode<\/td>String<\/td>System Response code that is sometimes included in response in case of exceptions in the system. This helps with issue resolution.<\/td><\/tr>
15<\/td>action<\/td>String<\/td>Action on transaction as received from the middleware<\/td><\/tr>
16<\/td>settlementStatus<\/td>Status<\/td>Settlement status of  inquiry transaction. Default settlement status for Inquiry is NEW<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n


Sample request<\/strong><\/p>\n\n\n\n

{<\/code>
\"destinationAccountNumber \"<\/code> : \"0123456789\",<\/code>
\"sourceAccountNumber\": \"8096080641<\/code>\",<\/code>
\"sourceAccountName\": \"Tolani Moshood\",<\/code>
\"destinationInstitutionCode\":\"KOP\",<\/code>
\"transactionAmount\": 300000,<\/code>
\"currencyCode\": \"566\",<\/code>
\"clientRef\"<\/code> : \"abc1222223knkj\",<\/code>
\"mobileNumber\":\"2348089546016\",<\/code>
\"emailAddress\"<\/code> : \"siryaya@gmail.com<\/a>\",<\/code>
\"channelCode\":2,    <\/code>
\"paymentLocation\": \"PBL,T,10360057075012,Adubiaro, DeborLaNG\"<\/code>
}<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n
Sample Response (success)<\/h5>\n\n\n\n
HTTP Status: 200 <\/code>
{<\/code>
\"accountType\": \"SAVINGS\",<\/code>
\"accountCurrency\": \"NGN\",<\/code>
\"address\": \"1 AYANBOYE STREET ANTHONY KOSOFE LAGOS\",<\/code>
\"responseCode\": \"00\",<\/code>
\"responseMessage\": \"Approved or completed successfully\",<\/code>
\"transactionReference\": \"CR|SUN|KOP|250720201707|237233\",<\/code>
\"bankVerificationNumber\": \"1234565667\",<\/code>
\"kycLevel\": \"1\",<\/code>
\"canCredit\": true,<\/code>
\"settlementStatus\": \"NEW\",<\/code>
\"action\": \"SUCCESS\"<\/code>
}<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n

Sample Response (invalid account)<\/h5>\n\n\n\n
HTTP Status: 409 Conflict<\/code>
{ <\/code>
\"clientRef\": \"abc1222223knkj\", <\/code>
\"responseCode\": \"39\", <\/code>
\"responseMessage\": \"Invalid Account\", <\/code>
\"transactionReference\": \"CR|SUN|KOP|231120201142|244092\", <\/code>
\"canCredit\": false, <\/code>
\"action\": \"FAILURE\" <\/code>
}<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n

<\/p>\n\n\n\n

2.\u00a0Account Credit Request with Credit Inquiry Reference or Transaction Reference<\/h2>\n\n\n\n

This endpoint receives a request to close an open credit inquiry by performing the credit transaction. <\/em>The credit inquiry to be closed is contained in the clientRef <\/strong><\/em>field or transactionReference <\/strong>field.<\/strong> <\/em> The transactionA<\/strong>mount <\/strong><\/em>to be credited is also included in the request.The request is processed and routed to the destination institution to effect the credit. The credit request is pushed for processing and a response is sent back to the calling application. If the source institution transaction limit is exceeded the request will fail and return a transaction limit exceeded response.<\/p>\n\n\n\n

<\/p>\n\n\n\n

Version 1<\/strong><\/h2>\n\n\n\n

Endpoint<\/strong><\/p>\n\n\n\n

POST <base URI>\/transfers\/accounts\/credits\/completion<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n

Headers<\/strong><\/p>\n\n\n\n

Authorization: Bearer {Passport Access Token}
Content-Type: application\/json<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n


Request Message description<\/h4>\n\n\n\n
Field #<\/th>Field name<\/th>Data type<\/th>Max length<\/th>Classification<\/th>Description<\/th><\/tr><\/thead>
1<\/td>transactionAmount<\/td>Long<\/td>MAX<\/td>Mandatory<\/td>Amount in minor denomination<\/td><\/tr>
2<\/td>narration<\/td>String<\/td>200<\/td>Mandatory<\/td>Narration<\/td><\/tr>
3<\/td>clientRef<\/td>String<\/td>50<\/td>Required<\/td>Unique reference per client. If present in inquiry, should be the same. N:B<\/strong>: You either client Ref or Transaction Reference in your payload but you cannot use both.<\/strong><\/td><\/tr>
4<\/td>additionalInfo<\/td>String<\/td>MAX<\/td>Optional<\/td>Additional Information. Could contain initial debit details (e.g mobile app implementation)<\/td><\/tr>
5<\/td>transactionReference<\/td>String<\/td>50<\/td>Required<\/td>Transaction Reference returned from credit inquiry.
N:B<\/strong>: You either client Ref or Transaction Reference in your payload but you cannot use both.<\/strong>
<\/td><\/tr>
6<\/td>sourceAccountName<\/td>String<\/td>200<\/td>Mandatory (If not provided in Credit Inquiry request)<\/td>Source Account Name<\/td><\/tr>
7<\/td>sourceAccountNumber<\/td>String<\/td>50<\/td>Mandatory (If not provided in Credit Inquiry request)<\/td>Source Account Number<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n

Response Message description<\/h4>\n\n\n\n
Field#<\/th>Field name<\/th>Description<\/th><\/tr><\/thead>
1<\/td>transactionReference<\/td>Unique transaction reference<\/td><\/tr>
2<\/td>responseCode<\/td>The response code of the transaction see appendix for response code details<\/td><\/tr>
3<\/td>responseMessage<\/td>The descriptive response message<\/td><\/tr>
4<\/td>status<\/td>The status of the transaction. See transaction status appendix. Use the status mappings to determine if the transaction succeeded or not.<\/td><\/tr>
5<\/td>clientRef<\/td>The clientRef of the transaction<\/td><\/tr>
6<\/td>systemResponseCode<\/td>System Response code that is sometimes included in response in case of exceptions in the system. This helps with issue resolution.<\/td><\/tr>
7<\/td>settlementStatus<\/td>Settlement status of the credit transaction<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n

Sample Request (With Client Reference)<\/h5>\n\n\n\n
{<\/code>
\"transactionAmount\": 300000,<\/code>
\"clientRef\"<\/code> : \"abc1222223knkj\",<\/code>
\"additionalInfo\":\"{\\\"sourceBvn\\\":\\\"1111111\\\",\\\"sourceKycLevel\\\":\\\"1\\\"}\",<\/code>
\"narration\": \"For your wedding\"<\/code>
}<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n
Sample Request (With Transaction Reference)<\/h5>\n\n\n\n
{<\/code>
\"transactionAmount\": 300000,<\/code>
\"clientRef\"<\/code> : \"CR|SUN|KOP|231120201142|244092\",<\/code>
\"additionalInfo\":\"{\\\"sourceBvn\\\":\\\"1111111\\\",\\\"sourceKycLevel\\\":\\\"1\\\"}\",<\/code>
\"narration\": \"For your wedding\"<\/code>
}<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n
Sample Response (success)<\/h5>\n\n\n\n
HTTP Status: 200 <\/code>
{<\/code>
\"responseCode\": \"00\",<\/code>
\"transactionReference\": \"CR|SUN|KOP|231120201142|244092\",<\/code>
\"responseMessage\": \"Approved by financial institution\",<\/code>
\"status\": \"SUCCESS\",<\/code>
\"clientRef\": \"1234-5678\"<\/code> ,<\/code>
\"settlementStatus\": \"SUCCESSFUL\"<\/code>
}<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n

Version <\/strong>2<\/h2>\n\n\n\n

Endpoint<\/strong><\/p>\n\n\n\n

POST <base URI>\/v2\/transfers\/accounts\/credits\/completion<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n

Headers<\/strong><\/p>\n\n\n\n

Authorization: Bearer {Passport Access Token}
Content-Type: application\/json<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n


Request Message description<\/h4>\n\n\n\n
Field #<\/th>Field name<\/th>Data type<\/th>Max length<\/th>Classification<\/th>Description<\/th><\/tr><\/thead>
1<\/td>transactionAmount<\/td>Long<\/td>MAX<\/td>Mandatory<\/td>Amount in minor denomination<\/td><\/tr>
2<\/td>narration<\/td>String<\/td>200<\/td>Mandatory<\/td>Narration<\/td><\/tr>
3<\/td>clientRef<\/td>String<\/td>50<\/td>Required<\/td>Unique reference per client. If present in inquiry, should be the same. N:B<\/strong>: You either client Ref or Transaction Reference in your payload but you cannot use both.<\/strong><\/td><\/tr>
4<\/td>additionalInfo<\/td>String<\/td>MAX<\/td>Optional<\/td>Additional Information. Could contain initial debit details (e.g mobile app implementation)<\/td><\/tr>
5<\/td>transactionReference<\/td>String<\/td>50<\/td>Required<\/td>Transaction Reference returned from credit inquiry.
N:B<\/strong>: You either client Ref or Transaction Reference in your payload but you cannot use both.<\/strong>
<\/td><\/tr>
6<\/td>sourceAccountName<\/td>String<\/td>200<\/td>Mandatory (If not provided in Credit Inquiry request)<\/td>Source Account Name<\/td><\/tr>
7<\/td>sourceAccountNumber<\/td>String<\/td>50<\/td>Mandatory (If not provided in Credit Inquiry request)<\/td>Source Account Number<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n

Response Message description<\/h4>\n\n\n\n
Field#<\/th>Field name<\/th>Description<\/th><\/tr><\/thead>
1<\/td>transactionReference<\/td>Unique transaction reference<\/td><\/tr>
2<\/td>responseCode<\/td>The response code of the transaction see appendix for response code details<\/td><\/tr>
3<\/td>responseMessage<\/td>The descriptive response message<\/td><\/tr>
4<\/td>status<\/td>The status of the transaction. See transaction status appendix. Use the status mappings to determine if the transaction succeeded or not.<\/td><\/tr>
5<\/td>clientRef<\/td>The clientRef of the transaction<\/td><\/tr>
6<\/td>systemResponseCode<\/td>System Response code that is sometimes included in response in case of exceptions in the system. This helps with issue resolution.<\/td><\/tr>
7<\/td>settlementStatus<\/td>Settlement status of the credit transaction<\/td><\/tr>
8<\/td>remoteTransactionReference<\/td>Transaction reference returned by the destination institution CBA<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n

Sample Request (With Client Reference)<\/h5>\n\n\n\n
{<\/code>
\"transactionAmount\": 300000,<\/code>
\"clientRef\"<\/code> : \"abc1222223knkj\",<\/code>
\"additionalInfo\":\"{\\\"sourceBvn\\\":\\\"1111111\\\",\\\"sourceKycLevel\\\":\\\"1\\\"}\",<\/code>
\"narration\": \"For your wedding\"<\/code>,
\"destinationAccountNumber \"<\/code> : \"0123456789\",<\/code>
\"sourceAccountNumber\": \"8096080641<\/code>\"<\/code>,
}<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n
Sample Request (With Transaction Reference)<\/h5>\n\n\n\n
{<\/code>
\"transactionAmount\": 300000,<\/code>
\"clientRef\"<\/code> : \"CR|SUN|KOP|231120201142|244092\",<\/code>
\"additionalInfo\":\"{\\\"sourceBvn\\\":\\\"1111111\\\",\\\"sourceKycLevel\\\":\\\"1\\\"}\",<\/code>
\"narration\": \"For your wedding\"<\/code>,
\"destinationAccountNumber \"<\/code> : \"0123456789\",<\/code>
\"sourceAccountNumber\": \"8096080641<\/code>\"<\/code>
}<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n
Sample Response (success)<\/h5>\n\n\n\n
HTTP Status: 200 <\/code>
{<\/code>
\"responseCode\": \"00\",<\/code>
\"transactionReference\": \"CR|SUN|KOP|231120201142|244092\",<\/code>
\"responseMessage\": \"Approved by financial institution\",<\/code>
\"status\": \"SUCCESS\",<\/code>
\"clientRef\": \"1234-5678\"<\/code> ,<\/code>
\"settlementStatus\": \"SUCCESSFUL\"<\/code>,
\"remoteTransactionReference\": \"SUNPCR|SUN|KOP|310321101926|269940-ISW\"<\/code>
}<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n


3. Requery Transfer Request<\/h2>\n\n\n\n

This endpoint queries a transfer using the original clientRef <\/em><\/strong>and\/or transactionReference <\/em><\/strong>returned by the Transfer Service.<\/p>\n\n\n\n

Version 1<\/h3>\n\n\n\n

Endpoint<\/strong><\/p>\n\n\n\n

POST <base URI>\/transfers\/accounts\/credits\/requery<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n

Headers<\/strong><\/p>\n\n\n\n

Authorization: Bearer {Passport Access Token}
Content-Type: application\/json<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n

Request Message description<\/h4>\n\n\n\n
Field#<\/th>Field name<\/th>Data type<\/th>Max<\/th>Classification<\/th>Description<\/th><\/tr><\/thead>
1<\/td>clientRef<\/td>String<\/td>50<\/td> Optional (if transactionReference is provided) <\/td>Unique reference per institution<\/td><\/tr>
2<\/td>transactionReference<\/td>String<\/td>16<\/td>Optional (if clientRef is provided)<\/td>Unique transaction reference across institutions, generated and returned by TS<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n

Response Message  field description<\/strong><\/p>\n\n\n\n

Field#<\/th>Field name<\/th>Description<\/th><\/tr><\/thead>
1<\/td>transactionReference<\/td>Unique transaction reference<\/td><\/tr>
2<\/td>responseCode<\/td>The response code of the transaction see appendix for response code details<\/td><\/tr>
3<\/td>responseMessage<\/td>The descriptive response message<\/td><\/tr>
4<\/td>status<\/td>The status of the transaction. See transaction status appendix. Use the status mappings to determine if the transaction succeeded or not.<\/td><\/tr>
5<\/td>clientRef<\/td>The clientRef of the transaction<\/td><\/tr>
6<\/td>settlementStatus<\/td>Settlement status of the credit transaction<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n
Sample Request With Transaction Reference<\/h5>\n\n\n\n
{<\/code>
\"transactionReference\": \"CR|SUN|KOP|231120201142|244092<\/code>\"<\/code>
}<\/code> <\/th><\/tr><\/tbody><\/table><\/figure>\n\n\n\n
Sample Request With Client Reference<\/h5>\n\n\n\n
{<\/code>
\"clientRef\": \"abc1222223knkj\"<\/code>
}<\/strong><\/th><\/tr><\/tbody><\/table><\/figure>\n\n\n\n

Sample Response (success)<\/strong><\/p>\n\n\n\n

HTTP Status: 200<\/code>
{<\/code>
\"responseCode\": \"00\",<\/code>
\"transactionReference\": \"CR|SUN|KOP|231120201142|244092<\/code>\",<\/code>
\"responseMessage\": \"Approved or completed successfully\",<\/code>
\"status\": \"SUCCESS\",<\/code>
\"clientRef\": \"abc1222223knkj\",<\/code>
\"settlementStatus\": \"SUCCESSFUL\"<\/code>
}<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n

<\/p>\n\n\n\n

Version 2<\/h3>\n\n\n\n

Endpoint<\/strong><\/p>\n\n\n\n

POST <base URI>\/v2\/transfers\/accounts\/credits\/requery<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n

Headers<\/strong><\/p>\n\n\n\n

Authorization: Bearer {Passport Access Token}
Content-Type: application\/json<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n

Request Message description<\/h4>\n\n\n\n
Field#<\/th>Field name<\/th>Data type<\/th>Max<\/th>Classification<\/th>Description<\/th><\/tr><\/thead>
1<\/td>clientRef<\/td>String<\/td>50<\/td> Optional (if transactionReference is provided) <\/td>Unique reference per institution<\/td><\/tr>
2<\/td>transactionReference<\/td>String<\/td>16<\/td>Optional (if clientRef is provided)<\/td>Unique transaction reference across institutions, generated and returned by TS<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n

Response Message  field description<\/strong><\/p>\n\n\n\n

Field#<\/th>Field name<\/th>Description<\/th><\/tr><\/thead>
1<\/td>transactionReference<\/td>Unique transaction reference<\/td><\/tr>
2<\/td>responseCode<\/td>The response code of the transaction see appendix for response code details<\/td><\/tr>
3<\/td>responseMessage<\/td>The descriptive response message<\/td><\/tr>
4<\/td>status<\/td>The status of the transaction. See transaction status appendix. Use the status mappings to determine if the transaction succeeded or not.<\/td><\/tr>
5<\/td>clientRef<\/td>The clientRef of the transaction<\/td><\/tr>
6<\/td>settlementStatus<\/td>Settlement status of the credit transaction<\/td><\/tr>
7<\/td>remoteTransactionReference<\/td>Transaction reference returned by the destination institution CBA<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n
Sample Request With Transaction Reference<\/h5>\n\n\n\n
{<\/code>
\"transactionReference\": \"CR|SUN|KOP|231120201142|244092<\/code><\/code>\"<\/code>
}<\/code> <\/th><\/tr><\/tbody><\/table><\/figure>\n\n\n\n
Sample Request With Client Reference<\/h5>\n\n\n\n
{<\/code>
\"clientRef\": \"abc1222223knkj\"<\/code>
}<\/strong><\/th><\/tr><\/tbody><\/table><\/figure>\n\n\n\n

Sample Response (success)<\/strong><\/p>\n\n\n\n

HTTP Status: 200<\/code>
{<\/code>
\"responseCode\": \"00\",<\/code>
\"transactionReference\": \"CR|SUN|KOP|231120201142|244092<\/code>\",<\/code>
\"responseMessage\": \"Approved or completed successfully\",<\/code>
\"status\": \"SUCCESS\",<\/code>
\"clientRef\": \"abc1222223knkj\",<\/code>
\"settlementStatus\": \"SUCCESSFUL\"<\/code>,
\"remoteTransactionReference\": \"SUNPCR|SUN|KOP|310321101926|269940-ISW\"<\/code>
}<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n

<\/p>\n\n\n\n

<\/p>\n\n\n\n

4. List of Receiving Institutions <\/h2>\n\n\n\n

Endpoint<\/strong><\/p>\n\n\n\n

GET <base URI> \/transfers\/institutions<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n

Headers<\/strong><\/p>\n\n\n\n

Authorization – Bearer {Passport Access Token}<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n

Query Parameters<\/h4>\n\n\n\n
Field#<\/th>Field name<\/th>Data type<\/th> Option<\/th>Description<\/th><\/tr><\/thead>
1<\/td>perPage<\/td>Integer<\/td>Optional<\/td>The number of institutions per page. The default value is 30 and the maximum value is 200 <\/td><\/tr>
2<\/td>page<\/td>Integer<\/td> Optional <\/td> The page number of the institutions to fetch. <\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n

Sample Request<\/strong><\/p>\n\n\n\n

GET <base URI>\/transfers\/institutions?perPage=200&page=1<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n

Sample Response (success)<\/strong><\/p>\n\n\n\n

HTTP 200 OK
{
\"total\": 515,
\"perPage\": 200,
\"page\": 1,
\"institutions\": [
{
\"institutionId\": \"1\",
\"institutionCode\": \"AAB\",
\"institutionName\": \"Actual African Bank\"
},
{
\"institutionId\": \"2\",
\"institutionCode\": \"AGB\",
\"institutionName\": \"Actual Global Bank\"
},
...
]
}<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n

<\/p>\n\n\n\n

<\/p>\n\n\n\n

Appendix<\/h2>\n\n\n\n
\n\n\n\n

Transaction Statuses<\/h3>\n\n\n\n

The status should be used to interpret the transaction response code for simplicity. These can be received during credit completion, requery, and transaction update callback.<\/p>\n\n\n\n

Status<\/th>Meaning<\/th><\/tr><\/thead>
SUCCESS<\/td>Transaction approved and completed successfully. Credit hit beneficiary account real-time<\/td><\/tr>
FAILURE<\/td>Transaction failed permanently<\/td><\/tr>
TRANSACTION_IN_PROGRESS<\/td>Transaction status is currently undergoing automated confirmation. Final response will be shared via a call to the requery API<\/td><\/tr>
PENDING<\/td>Transaction status unknown and cannot be confirmed from remote institution. Transaction will be settled<\/strong> and dealt with through the arbitration process if necessary. Please treat as SUCCESSFUL<\/td><\/tr>
NEW<\/td>This states that the Inquiry can be retried as the Inquiry request is yet to be completed<\/td><\/tr>
OPEN<\/td>Transaction Inquiry was successful and transaction is now open for a Credit request<\/td><\/tr>
ERROR<\/td>Transaction is in a final state and a user is re-attempting to trigger a duplicate credit request. Recheck transaction details and try again<\/td><\/tr>
EXPIRED<\/td>Transaction Inquiry has been terminated as Credit Request was not received within the configured retention period. This is a final state which will not be settled<\/td><\/tr>
OFFLINE_APPROVAL<\/td>Credit to CBA for transaction was not confirmed successfully, however Transaction will be SETTLED<\/strong> and treated as SUCCESSFUL. <\/strong> Introduced to cater to isw-agency-banking<\/strong> transactions and other transactions that might fall into the use-case<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n

NOTE: <\/strong>The transaction STATUS gives a true picture of the transaction and should be paid attention to mostly. The response codes<\/em> define the different scenarios that could happen around the transaction processing<\/p>\n\n\n\n

Response Codes<\/h3>\n\n\n\n
Response Code<\/strong><\/td>Description<\/strong><\/td>Response Message<\/strong><\/td><\/tr>
00<\/td>Transaction was successful<\/td>Approved or completed successfully<\/td><\/tr>
01<\/td>Source institution should be contacted<\/td>Contact source institution<\/td><\/tr>
05<\/td>Do not honour<\/td>Do not honour<\/td><\/tr>
06<\/td>Transaction failed for arbitrary reasons<\/td>General transaction failure<\/td><\/tr>
09<\/td>Transaction is in progress at middleware or other operational reasons.<\/td>Transaction in progress<\/td><\/tr>
10<\/td>CBA timeout at destination<\/td>Transaction in progress<\/td><\/tr>
12<\/td>The transaction is invalid<\/td>Invalid Transaction<\/td><\/tr>
13<\/td>Invalid Amount<\/td>Invalid Amount<\/td><\/tr>
14<\/td>The account type for this account is invalid<\/td>Account type is incorrect<\/td><\/tr>
15<\/td>No such issuer<\/td>Invalid Issuer<\/td><\/tr>
17<\/td>Middleware error returned for operations relating to customer authenticating the debit<\/td>Debit Authentication Error<\/td><\/tr>
18<\/td>Requery cannot be executed for transactions older than 5 days. This is not confirmation that the transaction failed\/ successful.<\/td>Client requery cannot be executed for transactions older than 5 days<\/td><\/tr>
19<\/td>Transaction retry limit has been reached. The middleware will no longer attempt this transaction. Except a requery and it receives a response code for which it can retry.<\/td>Pending transaction retry limit reached and status unknown<\/td><\/tr>
20<\/td>Invalid response received from processor<\/td>Invalid response received from CBA<\/td><\/tr>
21<\/td>Middleware received a response code that is not in its mapping configuration table<\/td>Response code not registered<\/td><\/tr>
25<\/td>Transaction record not found<\/td>Transaction not found<\/td><\/tr>
30<\/td>Bad request<\/td>Bad request<\/td><\/tr>
31<\/td>Invalid route configuration for sender<\/td>Route configuration error for issuer institution
<\/td><\/tr>
39<\/td>The specified account does not exist<\/td>Invalid account<\/td><\/tr>
40<\/td>The sender account is invalid<\/td>Sender invalid<\/td><\/tr>
45<\/td>The specified account is closed<\/td>Account is closed<\/td><\/tr>
46<\/td>The specified account is dormant<\/td>Account is dormant<\/td><\/tr>
47<\/td>The specified account is blocked<\/td>Account is blocked<\/td><\/tr>
48<\/td>Inquiry Request was processed successfully but Credit Request was not received the configured retention period.<\/td>Transaction Expired<\/td><\/tr>
49<\/td>Inquiry Request was not processed successfully within the configured retention period<\/td>Transaction Expired<\/td><\/tr>
51<\/td>The specified account balance has been reached<\/td>Account balance limit reached<\/td><\/tr>
52<\/td>The TSS at the crediting bank is not sufficiently funded<\/td>Transaction failed. Please contact administrator<\/td><\/tr>
56<\/td>Payment instrument not found to complete transaction<\/td>Payment Instrument not found<\/td><\/tr>
58<\/td>Transaction not allowed on channel specified\/ Channel code has not been mapped\/setup on the middleware or is inactive. No further action was taken.<\/td>Transaction not permitted on channel \/Channel does not exist<\/td><\/tr>
59<\/td>The transaction is marked as suspected fraud and not processed<\/td>Suspected fraud or security breach<\/td><\/tr>
61<\/td>Transaction limit exceeded<\/td>Source transfer limit exceeded<\/td><\/tr>
62<\/td>Withdrawal frequency exceeded<\/td>Withdrawal frequency exceeded<\/td><\/tr>
63<\/td>Security has been violated<\/td>Security Violation<\/td><\/tr>
64<\/td>Authentication token is not valid<\/td>Authentication token is not valid<\/td><\/tr>
79<\/td>BVN record not maintained<\/td>Account no BVNmaintained<\/td><\/tr>
80<\/td>Account name mismatch<\/td>Account name mismatch<\/td><\/tr>
81<\/td>The configured TSS is invalid (does not exist, PND, etc)<\/td>Invalid TSS account<\/td><\/tr>
82<\/td>The configured TSS could not be credited<\/td>Cannot credit TSS account<\/td><\/tr>
91<\/td>Middleware could not reach Core Banking Application \/ Middleware did not get a definite response from Core Banking Application<\/td>Could not reach Remote Service \/ Response timed out while attempting to reach remote service<\/td><\/tr>
92<\/td>Invalid route configuration for destination<\/td>Issue\/Error with routing configuration for the receiving institution<\/td><\/tr>
94<\/td>Transaction is a duplicate and is either in progress <\/td>Duplicate transaction<\/td><\/tr>
97<\/td>A system error occurred. Transaction status not confirmed.<\/td>A system error occurred. Transaction status not confirmed.<\/td><\/tr>
98<\/td>The specified account has reached the limit for this transaction<\/td>Account transaction limit reached<\/td><\/tr>
99<\/td>The transfer rate limit has been reached for the TSS account.<\/td>Transfer frequency reached<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n

Channel Codes<\/h4>\n\n\n\n
Channel Code<\/strong><\/td>Description<\/strong><\/td><\/tr>
1<\/td>BANK BRANCH<\/td><\/tr>
2<\/td>WEB<\/td><\/tr>
3<\/td>DIRECT DEBIT<\/td><\/tr>
4<\/td>ATM<\/td><\/tr>
5<\/td>POS<\/td><\/tr>
6<\/td>MOBILE<\/td><\/tr><\/tbody><\/table><\/figure>\n","protected":false},"author":4978,"featured_media":0,"parent":4133,"menu_order":1,"comment_status":"open","ping_status":"closed","template":"","meta":{"spay_email":""},"doc_tag":[],"_links":{"self":[{"href":"https:\/\/sandbox.interswitchng.com\/docbase\/wp-json\/wp\/v2\/docs\/4146"}],"collection":[{"href":"https:\/\/sandbox.interswitchng.com\/docbase\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/sandbox.interswitchng.com\/docbase\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/sandbox.interswitchng.com\/docbase\/wp-json\/wp\/v2\/users\/4978"}],"replies":[{"embeddable":true,"href":"https:\/\/sandbox.interswitchng.com\/docbase\/wp-json\/wp\/v2\/comments?post=4146"}],"version-history":[{"count":15,"href":"https:\/\/sandbox.interswitchng.com\/docbase\/wp-json\/wp\/v2\/docs\/4146\/revisions"}],"predecessor-version":[{"id":4657,"href":"https:\/\/sandbox.interswitchng.com\/docbase\/wp-json\/wp\/v2\/docs\/4146\/revisions\/4657"}],"up":[{"embeddable":true,"href":"https:\/\/sandbox.interswitchng.com\/docbase\/wp-json\/wp\/v2\/docs\/4133"}],"prev":[{"title":"Bank Confirmation Model API","link":"https:\/\/sandbox.interswitchng.com\/docbase\/docs\/transfer-service-core-api-document\/bank-confirmation-model-api\/","href":"https:\/\/sandbox.interswitchng.com\/docbase\/wp-json\/wp\/v2\/docs\/4144"}],"wp:attachment":[{"href":"https:\/\/sandbox.interswitchng.com\/docbase\/wp-json\/wp\/v2\/media?parent=4146"}],"wp:term":[{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/sandbox.interswitchng.com\/docbase\/wp-json\/wp\/v2\/doc_tag?post=4146"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}