( ! ) 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.0001401504{main}( )...\index.php:0
20.0001401784require( 'C:\wamp64_2\www\docbase\wp-blog-header.php' )...\index.php:17
30.25029229472wp( )...\wp-blog-header.php:16
40.25029229496WP->main( )...\functions.php:1334
50.25039229496WP->parse_request( )...\class-wp.php:780
60.25089256184do_action_ref_array( )...\class-wp.php:399
70.25089256184WP_Hook->do_action( )...\plugin.php:565
80.25089256184WP_Hook->apply_filters( )...\class-wp-hook.php:332
90.25089257200rest_api_loaded( )...\class-wp-hook.php:308
100.25089257232rest_get_server( )...\rest-api.php:403
110.25099260168do_action( )...\rest-api.php:577
120.25099260544WP_Hook->do_action( )...\plugin.php:517
130.25099260544WP_Hook->apply_filters( )...\class-wp-hook.php:332
140.25189299744Jetpack_Core_Json_Api_Endpoints::register_endpoints( )...\class-wp-hook.php:308
150.25219307736Jetpack::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.0001401504{main}( )...\index.php:0
20.0001401784require( 'C:\wamp64_2\www\docbase\wp-blog-header.php' )...\index.php:17
30.25029229472wp( )...\wp-blog-header.php:16
40.25029229496WP->main( )...\functions.php:1334
50.25039229496WP->parse_request( )...\class-wp.php:780
60.25089256184do_action_ref_array( )...\class-wp.php:399
70.25089256184WP_Hook->do_action( )...\plugin.php:565
80.25089256184WP_Hook->apply_filters( )...\class-wp-hook.php:332
90.25089257200rest_api_loaded( )...\class-wp-hook.php:308
100.313611048072WP_REST_Server->serve_request( )...\rest-api.php:410
110.313811047728WP_REST_Server->send_header( )...\class-wp-rest-server.php:310
120.313811048056header ( )...\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.0001401504{main}( )...\index.php:0
20.0001401784require( 'C:\wamp64_2\www\docbase\wp-blog-header.php' )...\index.php:17
30.25029229472wp( )...\wp-blog-header.php:16
40.25029229496WP->main( )...\functions.php:1334
50.25039229496WP->parse_request( )...\class-wp.php:780
60.25089256184do_action_ref_array( )...\class-wp.php:399
70.25089256184WP_Hook->do_action( )...\plugin.php:565
80.25089256184WP_Hook->apply_filters( )...\class-wp-hook.php:332
90.25089257200rest_api_loaded( )...\class-wp-hook.php:308
100.313611048072WP_REST_Server->serve_request( )...\rest-api.php:410
110.314911047672WP_REST_Server->send_header( )...\class-wp-rest-server.php:311
120.314911047992header ( )...\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.0001401504{main}( )...\index.php:0
20.0001401784require( 'C:\wamp64_2\www\docbase\wp-blog-header.php' )...\index.php:17
30.25029229472wp( )...\wp-blog-header.php:16
40.25029229496WP->main( )...\functions.php:1334
50.25039229496WP->parse_request( )...\class-wp.php:780
60.25089256184do_action_ref_array( )...\class-wp.php:399
70.25089256184WP_Hook->do_action( )...\plugin.php:565
80.25089256184WP_Hook->apply_filters( )...\class-wp-hook.php:332
90.25089257200rest_api_loaded( )...\class-wp-hook.php:308
100.313611048072WP_REST_Server->serve_request( )...\rest-api.php:410
110.316111047864WP_REST_Server->send_header( )...\class-wp-rest-server.php:315
120.316111048232header ( )...\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.0001401504{main}( )...\index.php:0
20.0001401784require( 'C:\wamp64_2\www\docbase\wp-blog-header.php' )...\index.php:17
30.25029229472wp( )...\wp-blog-header.php:16
40.25029229496WP->main( )...\functions.php:1334
50.25039229496WP->parse_request( )...\class-wp.php:780
60.25089256184do_action_ref_array( )...\class-wp.php:399
70.25089256184WP_Hook->do_action( )...\plugin.php:565
80.25089256184WP_Hook->apply_filters( )...\class-wp-hook.php:332
90.25089257200rest_api_loaded( )...\class-wp-hook.php:308
100.313611048072WP_REST_Server->serve_request( )...\rest-api.php:410
110.317011047752WP_REST_Server->send_header( )...\class-wp-rest-server.php:323
120.317111048072header ( )...\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.0001401504{main}( )...\index.php:0
20.0001401784require( 'C:\wamp64_2\www\docbase\wp-blog-header.php' )...\index.php:17
30.25029229472wp( )...\wp-blog-header.php:16
40.25029229496WP->main( )...\functions.php:1334
50.25039229496WP->parse_request( )...\class-wp.php:780
60.25089256184do_action_ref_array( )...\class-wp.php:399
70.25089256184WP_Hook->do_action( )...\plugin.php:565
80.25089256184WP_Hook->apply_filters( )...\class-wp-hook.php:332
90.25089257200rest_api_loaded( )...\class-wp-hook.php:308
100.313611048072WP_REST_Server->serve_request( )...\rest-api.php:410
110.317911047816WP_REST_Server->send_header( )...\class-wp-rest-server.php:335
120.317911048184header ( )...\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.0001401504{main}( )...\index.php:0
20.0001401784require( 'C:\wamp64_2\www\docbase\wp-blog-header.php' )...\index.php:17
30.25029229472wp( )...\wp-blog-header.php:16
40.25029229496WP->main( )...\functions.php:1334
50.25039229496WP->parse_request( )...\class-wp.php:780
60.25089256184do_action_ref_array( )...\class-wp.php:399
70.25089256184WP_Hook->do_action( )...\plugin.php:565
80.25089256184WP_Hook->apply_filters( )...\class-wp-hook.php:332
90.25089257200rest_api_loaded( )...\class-wp-hook.php:308
100.313611048072WP_REST_Server->serve_request( )...\rest-api.php:410
110.318711047864WP_REST_Server->send_header( )...\class-wp-rest-server.php:359
120.318711048232header ( )...\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.0001401504{main}( )...\index.php:0
20.0001401784require( 'C:\wamp64_2\www\docbase\wp-blog-header.php' )...\index.php:17
30.25029229472wp( )...\wp-blog-header.php:16
40.25029229496WP->main( )...\functions.php:1334
50.25039229496WP->parse_request( )...\class-wp.php:780
60.25089256184do_action_ref_array( )...\class-wp.php:399
70.25089256184WP_Hook->do_action( )...\plugin.php:565
80.25089256184WP_Hook->apply_filters( )...\class-wp-hook.php:332
90.25089257200rest_api_loaded( )...\class-wp-hook.php:308
100.313611048072WP_REST_Server->serve_request( )...\rest-api.php:410
110.521811636992WP_REST_Server->send_headers( )...\class-wp-rest-server.php:475
120.521811636992WP_REST_Server->send_header( )...\class-wp-rest-server.php:1774
130.521811637568header ( )...\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.0001401504{main}( )...\index.php:0
20.0001401784require( 'C:\wamp64_2\www\docbase\wp-blog-header.php' )...\index.php:17
30.25029229472wp( )...\wp-blog-header.php:16
40.25029229496WP->main( )...\functions.php:1334
50.25039229496WP->parse_request( )...\class-wp.php:780
60.25089256184do_action_ref_array( )...\class-wp.php:399
70.25089256184WP_Hook->do_action( )...\plugin.php:565
80.25089256184WP_Hook->apply_filters( )...\class-wp-hook.php:332
90.25089257200rest_api_loaded( )...\class-wp-hook.php:308
100.313611048072WP_REST_Server->serve_request( )...\rest-api.php:410
110.521811636992WP_REST_Server->send_headers( )...\class-wp-rest-server.php:475
120.523111636992WP_REST_Server->send_header( )...\class-wp-rest-server.php:1774
130.523111637312header ( )...\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":"2023-05-02T16:00:15","modified_gmt":"2023-05-02T16:00:15","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

1. Authentication API<\/h3>\n\n\n\n
\n\n\n\n

This API handles obtaining an access token for authentication<\/p>\n\n\n\n

URL<\/strong><\/h4>\n\n\n\n

base URI : https:\/\/sandbox.interswitchng.com\/transfers<\/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

Client Credentials Grant Type<\/strong><\/h4>\n\n\n\n

Use this endpoint to get an access token using client credentials<\/p>\n\n\n\n

Request Body<\/h3>\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>\n\n\n\n

Sample Request Body<\/h4>\n\n\n\n
grant_type=client_credentials&scope=profile<\/code><\/td><\/tr><\/tbody><\/table>\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>\n\n\n\n

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

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

2. Credit Inquiry Request<\/h3>\n\n\n\n
\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

Endpoint<\/strong><\/p>\n\n\n\n
POST <base URI>\/inquiries\/credit<\/code><\/td><\/tr><\/tbody><\/table>\n\n\n\n


Headers<\/strong><\/p>\n\n\n\n
Authorization – Bearer {Passport Access Token}Content-Type: application\/json<\/code><\/td><\/tr><\/tbody><\/table>\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>Mandatory<\/td>Source Account number<\/td><\/tr>
2<\/td>sourceAccountName<\/td>String<\/td>200<\/td>Mandatory<\/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>Mandatory<\/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>\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>\n\n\n\n



Sample request<\/strong><\/p>\n\n\n\n
{<\/code>
\"destinationAccountNumber \"<\/code> : <\/code>\"0123456789\"<\/code>,<\/code>
\"sourceAccountNumber\"<\/code>: <\/code>\"8096080\"<\/code>,<\/code>
\"sourceAccountName\"<\/code>: <\/code>\"Tolani Moshood\"<\/code>,<\/code>
\"destinationInstitutionCode\"<\/code>:<\/code>\"ABP\"<\/code>,<\/code>
\"transactionAmount\"<\/code>: 300000,<\/code>
\"currencyCode\"<\/code>: <\/code>\"566\"<\/code>,<\/code>
\"clientRef\"<\/code> : <\/code>\"abc1222223knkj\"<\/code>,<\/code>
\"mobileNumber\"<\/code>:<\/code>\"2348089546016\"<\/code>,<\/code>
\"emailAddress\"<\/code> : <\/code>\"siryaya@gmail.com<\/a>\"<\/code>,<\/code>
\"channelCode\"<\/code>:2,<\/code>    \"paymentLocation\": \"PBL,T,10360057075012,Adubiaro, DeborLaNG\"<\/code>}<\/code><\/td><\/tr><\/tbody><\/table>\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|ABP|250720201707|237233\",<\/code>\"bankVerificationNumber\": \"1234565667\",<\/code>\"kycLevel\": \"1\",<\/code>\"canCredit\": true,<\/code>\"settlementStatus\": \"NEW\",<\/code>\"action\": \"SUCCESS\"<\/code>}<\/code><\/td><\/tr><\/tbody><\/table>\n\n\n\n

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

3. Account Credit Request With Credit Inquiry Reference or Transaction Reference<\/h3>\n\n\n\n
\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.<\/p>\n\n\n\n

Endpoint<\/strong>Endpoint<\/strong><\/p>\n\n\n\n
POST <base URI>\/accounts\/credits\/completion<\/code><\/td><\/tr><\/tbody><\/table>\n\n\n\n

Headers<\/strong><\/p>\n\n\n\n
Authorization – Bearer {Passport Access Token}Content-Type: application\/json<\/code><\/td><\/tr><\/tbody><\/table>\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><\/tbody><\/table>\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>\n\n\n\n

Sample Request one<\/h5>\n\n\n\n
{\"transactionAmount\": 300000,\"clientRef\"<\/code> : \"abc1222223knkj\",\"additionalInfo\":\"{\\\"sourceBvn\\\":\\\"1111111\\\",\\\"sourceKycLevel\\\":\\\"1\\\"}\",\"narration\": \"For your wedding\"}<\/code><\/td><\/tr><\/tbody><\/table>\n\n\n

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

{\"transactionAmount\": 300000,<\/code>\"transactionReference\": \"CR|SUN|ABP|250720201707|237233\",\"additionalInfo\":\"{\\\"sourceBvn\\\":\\\"1111111\\\",\\\"sourceKycLevel\\\":\\\"1\\\"}\",\"narration\": \"For your wedding\"}<\/code><\/p>\n

<\/p>\n

<\/p>\n\n\n

Sample Response (success)<\/h5>\n\n\n\n
HTTP Status: 200 <\/code>{<\/code>\"responseCode\"<\/code>: <\/code>\"00\"<\/code>,<\/code>\"transactionReference\"<\/code>: <\/code>\"CR|FBN|DMD|28032019102410|4237\"<\/code>,<\/code>\"responseMessage\"<\/code>: <\/code>\"Approved by financial institution\"<\/code>,<\/code>\"status\"<\/code>: <\/code>\"SUCCESS\"<\/code>,<\/code>\"clientRef\"<\/code>: <\/code>\"1234-5678\"<\/code> ,<\/code>\"settlementStatus\"<\/code>: <\/code>\"SUCCESSFUL\"<\/code>}<\/code><\/td><\/tr><\/tbody><\/table>\n\n\n\n


4. Requery Transfer Request<\/h3>\n\n\n\n
\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

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


Headers<\/strong><\/p>\n\n\n\n
Authorization – Bearer {Passport Access Token}Content-Type: application\/json<\/code><\/td><\/tr><\/tbody><\/table>\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>\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>\n\n\n\n
Sample Request With Transaction Reference<\/h5>\n\n\n\n
{
“transactionReference”: “CR|SUN|FBP|310520202047|226464”
}<\/th><\/tr><\/tbody><\/table>\n\n\n\n
Sample Request With Client Reference<\/h5>\n\n\n\n
{
“clientRef”: “SUN|ITF|NA|FBP|1235645654|98776”
}<\/th><\/tr><\/tbody><\/table>\n\n\n\n

Sample Response (success)<\/strong><\/p>\n\n\n\n
HTTP Status: 200<\/code>{<\/code>\"responseCode\"<\/code>: <\/code>\"00\"<\/code>,<\/code>\"transactionReference\"<\/code>: <\/code>\"CR|SUN|FBP|310520202047|226464\"<\/code>,<\/code>\"responseMessage\"<\/code>: <\/code>\"Approved or completed successfully\"<\/code>,<\/code>\"status\"<\/code>: <\/code>\"SUCCESS\"<\/code>,<\/code>\"clientRef\"<\/code>: <\/code>\"SUN|ITF|NA|FBP|1235645654|98776\"<\/code>,<\/code>\"settlementStatus\"<\/code>: <\/code>\"SUCCESSFUL\"<\/code>}<\/code><\/td><\/tr><\/tbody><\/table>\n\n\n\n

  1. <\/li><\/ol>\n\n\n\n

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

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

    \n\nList of Receiving Institutions\n\n<\/p>\n\n\n\n

    1. Endpoint<\/strong><\/li><\/ol>\n\n\n\n
      GET <base URI> \/transfers\/institutions<\/td><\/tr><\/tbody><\/table>\n\n\n\n

      Headers<\/strong><\/p>\n\n\n\n
      Authorization – Bearer {Passport Access Token}
      Content-Type: application\/json<\/code><\/td><\/tr><\/tbody><\/table>\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><\/td><\/tr>
      2<\/td>page<\/td>Integer<\/td> Optional <\/td> The page number of the institutions to fetch. <\/td><\/td><\/tr><\/tbody><\/table>\n\n\n\n

      Sample Request
      GET host \/transfers\/institutions?perPage=200&page=1<\/p>\n\n\n

      Sample Response
      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”
      },

      ]
      }<\/p>\n

      <\/p>\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>Required<\/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>\n\n\n\n

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

      5. Appendix<\/h3>\n\n\n\n
      \n\n\n\n

      Transaction Statuses<\/h4>\n\n\n\n

      The status should be used to interprete 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 realtime<\/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><\/tbody><\/table>\n\n\n\n

      NOTE: 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<\/strong><\/h4>\n\n\n\n

      Response Codes<\/h4>\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>
      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>
      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 bvn maintained<\/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>\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>\n","protected":false},"author":228,"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\/228"}],"replies":[{"embeddable":true,"href":"https:\/\/sandbox.interswitchng.com\/docbase\/wp-json\/wp\/v2\/comments?post=4146"}],"version-history":[{"count":11,"href":"https:\/\/sandbox.interswitchng.com\/docbase\/wp-json\/wp\/v2\/docs\/4146\/revisions"}],"predecessor-version":[{"id":4439,"href":"https:\/\/sandbox.interswitchng.com\/docbase\/wp-json\/wp\/v2\/docs\/4146\/revisions\/4439"}],"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}]}}