( ! ) 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.0001402504{main}( )...\index.php:0
20.0001402784require( 'C:\wamp64_2\www\docbase\wp-blog-header.php' )...\index.php:17
30.23039232088wp( )...\wp-blog-header.php:16
40.23039232112WP->main( )...\functions.php:1334
50.23039232112WP->parse_request( )...\class-wp.php:780
60.23099258800do_action_ref_array( )...\class-wp.php:399
70.23099258800WP_Hook->do_action( )...\plugin.php:565
80.23099258800WP_Hook->apply_filters( )...\class-wp-hook.php:332
90.23099259816rest_api_loaded( )...\class-wp-hook.php:308
100.23099259848rest_get_server( )...\rest-api.php:403
110.23099262784do_action( )...\rest-api.php:577
120.23099263160WP_Hook->do_action( )...\plugin.php:517
130.23099263160WP_Hook->apply_filters( )...\class-wp-hook.php:332
140.23189302360Jetpack_Core_Json_Api_Endpoints::register_endpoints( )...\class-wp-hook.php:308
150.23219310352Jetpack::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.0001402504{main}( )...\index.php:0
20.0001402784require( 'C:\wamp64_2\www\docbase\wp-blog-header.php' )...\index.php:17
30.23039232088wp( )...\wp-blog-header.php:16
40.23039232112WP->main( )...\functions.php:1334
50.23039232112WP->parse_request( )...\class-wp.php:780
60.23099258800do_action_ref_array( )...\class-wp.php:399
70.23099258800WP_Hook->do_action( )...\plugin.php:565
80.23099258800WP_Hook->apply_filters( )...\class-wp-hook.php:332
90.23099259816rest_api_loaded( )...\class-wp-hook.php:308
100.300011050688WP_REST_Server->serve_request( )...\rest-api.php:410
110.300211050344WP_REST_Server->send_header( )...\class-wp-rest-server.php:310
120.300211050672header ( )...\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.0001402504{main}( )...\index.php:0
20.0001402784require( 'C:\wamp64_2\www\docbase\wp-blog-header.php' )...\index.php:17
30.23039232088wp( )...\wp-blog-header.php:16
40.23039232112WP->main( )...\functions.php:1334
50.23039232112WP->parse_request( )...\class-wp.php:780
60.23099258800do_action_ref_array( )...\class-wp.php:399
70.23099258800WP_Hook->do_action( )...\plugin.php:565
80.23099258800WP_Hook->apply_filters( )...\class-wp-hook.php:332
90.23099259816rest_api_loaded( )...\class-wp-hook.php:308
100.300011050688WP_REST_Server->serve_request( )...\rest-api.php:410
110.301611050288WP_REST_Server->send_header( )...\class-wp-rest-server.php:311
120.301611050608header ( )...\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.0001402504{main}( )...\index.php:0
20.0001402784require( 'C:\wamp64_2\www\docbase\wp-blog-header.php' )...\index.php:17
30.23039232088wp( )...\wp-blog-header.php:16
40.23039232112WP->main( )...\functions.php:1334
50.23039232112WP->parse_request( )...\class-wp.php:780
60.23099258800do_action_ref_array( )...\class-wp.php:399
70.23099258800WP_Hook->do_action( )...\plugin.php:565
80.23099258800WP_Hook->apply_filters( )...\class-wp-hook.php:332
90.23099259816rest_api_loaded( )...\class-wp-hook.php:308
100.300011050688WP_REST_Server->serve_request( )...\rest-api.php:410
110.303411050480WP_REST_Server->send_header( )...\class-wp-rest-server.php:315
120.303411050848header ( )...\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.0001402504{main}( )...\index.php:0
20.0001402784require( 'C:\wamp64_2\www\docbase\wp-blog-header.php' )...\index.php:17
30.23039232088wp( )...\wp-blog-header.php:16
40.23039232112WP->main( )...\functions.php:1334
50.23039232112WP->parse_request( )...\class-wp.php:780
60.23099258800do_action_ref_array( )...\class-wp.php:399
70.23099258800WP_Hook->do_action( )...\plugin.php:565
80.23099258800WP_Hook->apply_filters( )...\class-wp-hook.php:332
90.23099259816rest_api_loaded( )...\class-wp-hook.php:308
100.300011050688WP_REST_Server->serve_request( )...\rest-api.php:410
110.304611050368WP_REST_Server->send_header( )...\class-wp-rest-server.php:323
120.304611050688header ( )...\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.0001402504{main}( )...\index.php:0
20.0001402784require( 'C:\wamp64_2\www\docbase\wp-blog-header.php' )...\index.php:17
30.23039232088wp( )...\wp-blog-header.php:16
40.23039232112WP->main( )...\functions.php:1334
50.23039232112WP->parse_request( )...\class-wp.php:780
60.23099258800do_action_ref_array( )...\class-wp.php:399
70.23099258800WP_Hook->do_action( )...\plugin.php:565
80.23099258800WP_Hook->apply_filters( )...\class-wp-hook.php:332
90.23099259816rest_api_loaded( )...\class-wp-hook.php:308
100.300011050688WP_REST_Server->serve_request( )...\rest-api.php:410
110.305911050432WP_REST_Server->send_header( )...\class-wp-rest-server.php:335
120.305911050800header ( )...\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.0001402504{main}( )...\index.php:0
20.0001402784require( 'C:\wamp64_2\www\docbase\wp-blog-header.php' )...\index.php:17
30.23039232088wp( )...\wp-blog-header.php:16
40.23039232112WP->main( )...\functions.php:1334
50.23039232112WP->parse_request( )...\class-wp.php:780
60.23099258800do_action_ref_array( )...\class-wp.php:399
70.23099258800WP_Hook->do_action( )...\plugin.php:565
80.23099258800WP_Hook->apply_filters( )...\class-wp-hook.php:332
90.23099259816rest_api_loaded( )...\class-wp-hook.php:308
100.300011050688WP_REST_Server->serve_request( )...\rest-api.php:410
110.306911050480WP_REST_Server->send_header( )...\class-wp-rest-server.php:359
120.307011050848header ( )...\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.0001402504{main}( )...\index.php:0
20.0001402784require( 'C:\wamp64_2\www\docbase\wp-blog-header.php' )...\index.php:17
30.23039232088wp( )...\wp-blog-header.php:16
40.23039232112WP->main( )...\functions.php:1334
50.23039232112WP->parse_request( )...\class-wp.php:780
60.23099258800do_action_ref_array( )...\class-wp.php:399
70.23099258800WP_Hook->do_action( )...\plugin.php:565
80.23099258800WP_Hook->apply_filters( )...\class-wp-hook.php:332
90.23099259816rest_api_loaded( )...\class-wp-hook.php:308
100.300011050688WP_REST_Server->serve_request( )...\rest-api.php:410
110.370811369936WP_REST_Server->send_headers( )...\class-wp-rest-server.php:475
120.370811369936WP_REST_Server->send_header( )...\class-wp-rest-server.php:1774
130.370811370512header ( )...\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.0001402504{main}( )...\index.php:0
20.0001402784require( 'C:\wamp64_2\www\docbase\wp-blog-header.php' )...\index.php:17
30.23039232088wp( )...\wp-blog-header.php:16
40.23039232112WP->main( )...\functions.php:1334
50.23039232112WP->parse_request( )...\class-wp.php:780
60.23099258800do_action_ref_array( )...\class-wp.php:399
70.23099258800WP_Hook->do_action( )...\plugin.php:565
80.23099258800WP_Hook->apply_filters( )...\class-wp-hook.php:332
90.23099259816rest_api_loaded( )...\class-wp-hook.php:308
100.300011050688WP_REST_Server->serve_request( )...\rest-api.php:410
110.370811369936WP_REST_Server->send_headers( )...\class-wp-rest-server.php:475
120.371911369936WP_REST_Server->send_header( )...\class-wp-rest-server.php:1774
130.371911370256header ( )...\class-wp-rest-server.php:1762
{"id":3999,"date":"2021-06-03T10:11:18","date_gmt":"2021-06-03T10:11:18","guid":{"rendered":"http:\/\/sandbox.interswitchng.com\/docbase\/docs\/ils\/hosted-fields\/hosted-fields-channels-regular-vf-loans\/"},"modified":"2021-06-03T11:09:32","modified_gmt":"2021-06-03T11:09:32","slug":"hosted-fields-channels-regular-vf-loans","status":"publish","type":"docs","link":"https:\/\/sandbox.interswitchng.com\/docbase\/docs\/ils\/hosted-fields\/hosted-fields-channels-regular-vf-loans\/","title":{"rendered":"Hosted Fields – Channels (Regular\/VF loans)"},"content":{"rendered":"\n

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

This provides a way for the merchant ( channels: Regular or Value Financing ) to securely collect card details for customers paying with debit or credit card to complete the loan application on their channels. It enables the merchant to control the experience; look and feel (that is, the merchant is in complete control of their UI\/UX). <\/p>\n\n\n\n

The following fields are hosted securely in iframes which the merchant can embed in their checkout page;<\/p>\n\n\n\n

  1. PAN<\/li>
  2. Expiry Date<\/li>
  3. PIN<\/li>
  4. CVV<\/li>
  5. OTP<\/li><\/ol>\n\n\n\n

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

    Steps to Implement HostedField<\/h3>\n\n\n\n

    Sample Code (Card form<\/strong>)<\/h4>\n\n\n\n

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

    <body>\n  <form id=\"cardForm\">\n    <div class=\"panel\">\n      <header class=\"panel__header\">\n        <h2>Submit Card Details<\/h2>\n      <\/header>\n      <div class=\"panel__content\">\n        <div class=\"textfield--float-label\">\n          <label class=\"hosted-field--label\" for=\"card-pan\">\n            <span class=\"icon\"> <\/span> Card Number\n          <\/label>\n          <div id=\"card-pan\" class=\"hosted-field\"><\/div>\n        <\/div>\n        <div class=\"textfield--float-label\">\n          <label class=\"hosted-field--label\" for=\"expiration-date\">Expiration Date<\/label>\n          <div id=\"expiration-date\" class=\"hosted-field\"><\/div>\n        <\/div>\n        <div class=\"textfield--float-label\">\n          <label class=\"hosted-field--label\" for=\"card-cvv\"> CVV<\/label>\n          <div id=\"card-cvv\" class=\"hosted-field\"><\/div>\n        <\/div>\n        <div class=\"textfield--float-label\">\n          <label class=\"hosted-field--label\" for=\"card-pin\">Pin<\/label>\n          <div id=\"card-pin\" class=\"hosted-field\"><\/div>\n        <\/div>\n        <div class=\"textfield--float-label\">\n          <label class=\"hosted-field--label\" for=\"card-otp\">OTP<\/label>\n          <div id=\"card-otp\" class=\"hosted-field\"><\/div>\n        <\/div>\n      <\/div>\n      <footer class=\"panel__footer\">\n        <button class=\"pay-button\" type=\"submit\">Submit<\/button>\n      <\/footer>\n    <\/div>\n  <\/form>\n  <script src='http:\/\/cdnjs.cloudflare.com\/ajax\/libs\/jquery\/2.1.3\/jquery.min.js'><\/script>\n  <script src=\"https:\/\/mufasa-qa.interswitchng.com\/p\/lending-service\/build.js\"><\/script>\n<\/body><\/code><\/pre>\n\n\n\n

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

    Load the SDK<\/h4>\n\n\n\n

    Loading the SDK will make available global interswitch.hostedFields<\/strong> variable available. <\/p>\n\n\n\n

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

    <script src=\"https:\/\/ils-hosted-fields-channels.k8.isw.la\/build.js\"><\/script><\/code><\/pre>\n\n\n\n

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

    Create Hosted Fields Instance<\/h4>\n\n\n\n

    Create an instance of hosted Field by Calling the newInstance<\/strong> method on the interswitch.hostedFields <\/strong>variable , the method takes options and a callback. <\/p>\n\n\n\n

    The create instance can be used to register events listeners and finally submit the customer’s request when the customer clicks on a the submit button. On submit this instance will return to the callback.<\/p>\n\n\n\n

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

    interswitch.hostedFields.newInstance(options,\n  function (err, hostedFieldInstance) {\n    if (err) {\n      \/\/ something is wrong,\n      return;\n    }\n    function findLabel(field) {\n      return $('.hosted-field--label[for=\"' + field.container.id + '\"]');\n    }\n    hostedFieldInstance.on('focus', function (event) {\n      var field = event.fields[event.emittedBy];\n      findLabel(field).addClass('label-float').removeClass('filled');\n    })\n  })<\/code><\/pre>\n\n\n\n

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

    The options include authorization, accept offer (whether value financing or regular loans) request, fields and styles as shown below.
    Please note that the accept offer request body varies depending on the type of loans your customers apply for.
    Value Financing<\/strong>: merchantCode is required alongside others.
    Regular Loans: <\/strong>creditMethod (the customers account number and the bank code) is required alongside others.<\/p>\n\n\n\n

    NOTE: <\/strong>channleCode, customerId, offerId, providerCode and transactionRef are always<\/strong> required for any loan type. <\/p>\n\n\n\n

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

    Available Options<\/h4>\n\n\n\n

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

    var options = {\n  authorization: \"eyJhbGciOiJSUzI1NiJ9.eyJhdWQiOlsiY2FyZGxlc3Mtc2VydmljZSIsImZpbmdlcnByaW50LWFwaSIsImlzdy1sZW5kaW5nLXNlcnZpY2UiLCJwYXNzcG9ydCIsInJlZmVycmFsLXNlcnZpY2UtYXBpIiwic2NwIl0sInNjb3BlIjpbInByb2ZpbGUiXSwianRpIjoiODcwYmZiNDAtNWQyMS00MDVkLTkzMTQtMWFmM2IwOGZmNjY0IiwiY2xpZW50X2lkIjoicG9zdG1hbiJ9.fXPGEz4nuo2FW0M9Qi1cIeZxm0xGsJKQRK5D4jdo8pMALU4JNbCSQGugB7xjpBNcGPR13_i7Y_0y0awljrOtsp-dIyrQ9cBSRGjuDCPDXXEkOX0xVBt0IGZa8DyGmFfNFLsv15R3ZUBLmg2OAJRtJ95DXoKAs16Kd07eKJsDCcWBLlk-sHg1HyXtcYm9XiAAbqWHJTWhCDueDZtz68tLoErxusLVbd_CL4Ec06CacJdJDUy9__HZMrHCiz9lSkx3PCg2GRNZhDw-u90sizpVzVNCE92cFcmSpXkF4j_vhlSvGqJN4Qi4_XQJ-3qFT5uP5Pg4jLdsvLzGGRm1T6lA8A\"\n  request: {\n    channelCode: \"QTUSSD\",\n    customerId: \"2348030583962\",\n    offerId: \"OFFER1529932588104\",\n    providerCode: \"MKT\",\n    transactionRef: \"ab1cfgkhfgvr2\",\n    merchantCode: \"VNA\", \/\/ merchantCode is only required for Value Financing loans.\n    creditMethod: {\n        accountNumber: \"1234567890\",\n        bankCode: \"056\"\n    } \/\/ creditMethod is only required for Regular Nano Loans.\n  },\n  styles: {\n    'input': {\n      'font-size': '16px',\n      'font-family': 'roboto, verdana, sans-serif',\n      'color': 'black'\n    },\n    ':focus': {\n      'color': 'blue'\n    },\n    '.valid': {\n      'color': 'black'\n    },\n    '.invalid': {\n      'color': 'red'\n    }\n  },\n  fields: {\n    pan: {\n      selector: '#card-pan',\n      placeholder: '1111 1111 1111 1111'\n    },\n    cvv: {\n      selector: '#card-cvv',\n      placeholder: '111'\n    },\n    exp: {\n      selector: '#expiration-date',\n      placeholder: 'MM\/YY'\n    },\n    pin: {\n      selector: '#card-pin',\n      placeholder: 'PIN'\n    },\n    otp: {\n      selector: '#card-otp',\n      placeholder: 'OTP'\n    }\n  },\n  onError: function (error) {\n    alert(error.responseMessage);\n  }\n}<\/code><\/pre>\n\n\n\n

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

    Submit Loan Application<\/strong><\/h4>\n\n\n\n

    When customer submits, a submit request is initiated on the hostedFieldInstance returned by the created hosted field instance<\/p>\n\n\n\n

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

    var submit = document.querySelector('button[type=\"submit\"]');\nsubmit.addEventListener('click', function (evt) {\n  evt.preventDefault();\n  evt.stopPropagation();\n \n  hostedFieldInstance.submit(function (err, payload) {\n     if (err) {\n        if (err.responseMessage) {\n          alert(err.responseMessage);\n          return;\n        }\n        else if (err.message.body) {\n          alert(JSON.stringify(err.message.body.token ? err.message.body.token : err.message.body.errors[0]['message']));\n          return;\n        }\n        else {\n          alert(err.message);\n          return;\n        }\n     }\n     else if (payload) {\n       console.log(payload);\n       alert(JSON.stringify(payload.body));\n       return;\n     }\n  });\n \n}, false)<\/code><\/pre>\n\n\n\n

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

    Hosted Fields Demo Interface<\/h3>\n\n\n\n

    The loaded Hosted Fields Demo page<\/h4>\n\n\n\n

    <\/h4>\n\n\n\n
    \"\"<\/figure>\n\n\n\n

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

    After entering card details, OTP validation is next <\/h4>\n\n\n\n
    \"\"<\/figure>\n\n\n\n

    For Third-party channels, Accept Offer is triggered<\/h4>\n\n\n\n
    \"\"<\/figure>\n","protected":false},"author":169,"featured_media":0,"parent":3998,"menu_order":0,"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\/3999"}],"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\/169"}],"replies":[{"embeddable":true,"href":"https:\/\/sandbox.interswitchng.com\/docbase\/wp-json\/wp\/v2\/comments?post=3999"}],"version-history":[{"count":10,"href":"https:\/\/sandbox.interswitchng.com\/docbase\/wp-json\/wp\/v2\/docs\/3999\/revisions"}],"predecessor-version":[{"id":4023,"href":"https:\/\/sandbox.interswitchng.com\/docbase\/wp-json\/wp\/v2\/docs\/3999\/revisions\/4023"}],"up":[{"embeddable":true,"href":"https:\/\/sandbox.interswitchng.com\/docbase\/wp-json\/wp\/v2\/docs\/3998"}],"next":[{"title":"Tokenization Hosted Fields - Channel Providers (Regular\/VF Loans)","link":"https:\/\/sandbox.interswitchng.com\/docbase\/docs\/ils\/hosted-fields\/tokenization-hosted-fields-channel-providers-regular-vf-loans\/","href":"https:\/\/sandbox.interswitchng.com\/docbase\/wp-json\/wp\/v2\/docs\/4008"}],"wp:attachment":[{"href":"https:\/\/sandbox.interswitchng.com\/docbase\/wp-json\/wp\/v2\/media?parent=3999"}],"wp:term":[{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/sandbox.interswitchng.com\/docbase\/wp-json\/wp\/v2\/doc_tag?post=3999"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}