Installment Payment Plan Options Inquiry

👍

HTTPS POST / Server-to-Server

Encryption of payment request and response is use JWE

  • JWE algorithm = RSA-OAEP + A256GCM
  • Signature is use JWS PS256

Required to know how to prepare request and process response using JWT with exchange key.

https://demo2.2c2p.com/2C2PFrontend/PaymentAction/2.0/action
https://t.2c2p.com/PaymentAction/2.0/action

 

IPP Options Inquiry Request


Below are the guidelines that how to prepare a settle request and send to 2c2p

📘

Provided Sample Code

Prepare Request Data, Generate JWT Token with Key & Send API
Refer sample code here.

  1. Prepare payload data. Below sample request data show the request structure. Refer IPP Options Inquiry Request Parameter for API Specification.
<IppOptionRequest>
   <version>2.1</version>
   <timeStamp>131221155503</timeStamp>
   <merchantID>JT01</merchantID>
   <hashValue>61B4EACA47B8D2620D3DEA91931710D2A21AE2DE</hashValue>
</IppOptionRequest>
  1. Generate encrypted request data. Refer to Generate JWT Request with Keys

  2. Send the encrypted request to settle API. Below show encrypted request data

eyJhbGciOiJQUzI1NiIsImtpZCI6ImRlZmF1bHQifQ.ZXlKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V5TlRaSFEwMGlmUS5oLU9reG9EanZ6Z0pSdkI3LVNVMFh6VGNRVmFESUgwaFhpc0h2R3dicTRkVnlsNWZoVzhOalJjSmZVOUJ6ZzFIQTh4MXNXX3NVOGhxVVlkRmxQdUxlQ21xYnYxeklVeDdkYjhCTG42R0FESVFySGtmcmpCandXNG0xanBsS1JaeTJWUUc3cjhubzF6TkFUcFd2U3JsbWNpWmg0X3gxOUlaQk8wbS1kcGU2TW14WHZXTHNKX2Y5Ukp1OVQxdGxXTG9HUjI5T2dmcjZreUtLOTdvTkFFX3JtTk5KbEZLTDBGVVFUZkp6XzBkbVpzT3YwTWZnWWtHenBGek1iTk9tbl9CdVIzeF9ZamVJQWZjc3oxaWdvODdwTTlJbHZHQlJTMVpMb3pHWnJZYW1aX0t0b1NWbHo3b2RaOFdLc2puc3NYTkZMMERIMmFjZW5URFY5OHBrcEFsdlEuR05SNmJBV0hpZ2pvNHk2TC5xQXhKai11WWZoYUFTR0hyZG5RaUlpaUtFcnVLZ19Qd2ZnQ1R4cW1XdC1qTFNsVmpfa1cxRjMycDdmNDN2LUloVkdOZXFCUnlKZUM0UWRYMkpoSldSSnU0c0VqdFRCdkFHUTRlV0NSNzVTU3Zkb25LSl9TRmFzNlIwNnJ3Vng3YVlRdTg5cVRMcVcyZEU2b3pOZ3BMcE5sajVpZG9tV0ozbVI4OUk5WGNEczB6VG1FQXpaZmJPaEtZd0h1NkI5SkxlVGtvNlNuQ01HcS1LakpqRGFxMjNrLWZiUjIzMU9aNmVTMURERWJhc0o2RGhqVlhFb3Zxbmt3eC5KUll6U1RyTzFLcVhiUElHWjBqYXdn.oMboqG622ilhirpSYa1si1MxJHWYe3oOSI9ES4MeILtCkZTSZ8N-2Tch2BnE0OmDc33h8-rSdg1td-JLTtn_fcdCMjQ5-j5uzELSbXLYLKfPKqqEbSqQErvC08ZNr97uWgFdvQYbLuO9-y1VMdwtzw5piKOFNgVYZa48Lmb0YtePH9XBBHf6p7xWVdmVH8OTxvHb44-sK-i9UZ9Jtk-yTn8IpCVjoSon2WpoIbywPIbj6zX4oGbJOuQZrlpSYO9cUfmS5suNv3M05xu7H_7Sq_0Sd_KkeT8k4PFGJQ4Hr_ZDynWA8SucoxwSR8EIXfuvSG-sVwIQZ4jcarOPMXy9BQ

 

IPP Options Inquiry Response


Below are the guidelines that how to process settle response from 2c2p.

📘

Provided Sample Code

Receive Response Data & Decrypt JWT Token with Key
Refer sample code here.

  1. Settle API will return encrypted response data . Sample response show below.
eyJhbGciOiJQUzI1NiIsImtpZCI6IjIifQ.ZXlKaGJHY2lPaUpTVTBFdFQwRkZVQ0lzSW1WdVl5STZJa0V5TlRaSFEwMGlMQ0pyYVdRaU9pSWlmUS5idEc2VXNZQW41cFZPVjZrR3dYbnRSb09vdUEtZzhBZzhvSlV5TWM3bnNvbldJbEdPTlR0X2pqNndLTmItQUQ1MEZOdkJ5REthUTU4OUpQMWh0WjI0UEo1SWlzZU1jX1E2b1ZZNzBabGxreFhrREhBOUhuNUcxeXo1d1FMU0tqNVU1RGJRRVZDTV9HOExBeTNRV0VLMFVoYlZjdEJXdXBUZmVLOHVOVW5RTjVoTUtKeUZicW8ya0dYR09UOENfUjExUURkMno3VFR0bXhhaERrcVJodWdBcmFZNGxxZ3VCRFlzc05BZjBEbUREVUkxckNWX3hlbFBOYWpLUnFLOGRqUnh4a3dDSmY0MTNUVl9TOGM0UkJELTZfWGFzT2JTZU9jUTVYUW1tWnB3a3VBUkhHYmViYk15d0ROOGxCakZBRkxocm9HRlktVDl2MUNLNDQzYWVLdXcuMlNCNE5sMTB2SmhENDZpaC42T1RQUTkxczljWUpaTkZuVzJ4emZFQXNrWTNWT19MN2o3SXA0VVRKMFZ1VzY5RVZEb3dJWHEwbV84cXIzWmpkVVl0cmtJal9xZ0swWEZaN2o0LXMwRld5VVhXcTZQeTVaTEZENGhhWTZSQnBkdnZKemlwTkxndC1FMDVRZ2l4azBGUHBMTGlfbTlwVzItR1hLY0ZVRWlNODVST3V2MmJMN0lwMkktd09MUVJaQUxxV1ljUDdZS1NocmM4dm5Zb2d0YzUySHlvYkIyOFhidGRsdHhIWmtxakhZeHNPTFd3N1FfRTA4OXBIckJiZ0gtdENGUVRzWmZoeUQtSTRDUUdtb0tCbGp2US1rY2pYMDZyMkZpdmZ4S2Z5cnRlZ0pFeUhNVTRLTDJFNG9IR3lZRlBYWVlNTlN4V0VydFpkd01ZeGhHSjByZlgwRmJQcHhXZ0F3RUpPRXZTMzlkMWVMVUtFWEl1TUJVWFlJcVhkOFBxQjFCakNteGlsZjJzNnJLMFFEbjN1d0tRd2tnUTdFQ3c1VGtla1JNbjhZWnh5SmwyY0dOcWMwa1BqYk5CR0pFQjVYUHprZVNZU05pUW9BbXEtT0Z4cmZnMTllOW9LVkUyUWpHdlAtWjZVMXNnSkpuSlBTdXFybC1FT3JCek9RRFMzbzlKRF9vRFRQY253ZkNWYU02ZjVaYm5hdHJsN3RGNlNVMXZ6WUhMMXZ4UHlaS1NiWU9TMEJMdHFBUFd6eFZ6NmMzbVRuVXJlX3pDbUlGdmlzYm1UZ2FNWThaU1YybFRIQmZKMVNlOThWUzZkOHduQzlsYm1COFNlYm14N1JINUxkYVc3V0dPd1gtZGtzT0lnc2tHVzlEWlpRcS03Z3J0Y3FlOEpnSm16OFVYVkFlaTQwV2hQX3BTTFNMZXpEVGR2SjJTNDljOHktYmh2aFl6YzVwZWJlc0FycTc2Q29uaHQtQjd4T2Z3eU9CZ1hSd2ZiOHlUMzNOT2E4Z2pYenFjVHZEb2M3a0UtYjZ0bjk5aXJLU0JpcjJBcXQySE0wS1NSaWJSWkJTblhtNmFHNXZEYWd3UWVVVmtwY0RZVGNzd1ZYeVBtTGtuU1FyTW84dnd5al80bERaVXFneGFLNTM5LW9WTS03RDh0YktORHNGWkFVeEcxMC1tUFVEUmtFMFUwUDU0blRWTDJFN2ltc1FZZ1I3a2FYSkZ0TkFhdHlIZkNjd2xpUzJEU1JfRURwbmlwWjBES3VSckF0Rlk5YURQUDlkWFJsb0hjYzdnLWRadS1lTl8xSEt3TzVSUnpYWGRsblZoUUdYbTNQek04RDZvVXUydVBaMV8tWkNJUXBNeUhrNTlSUjYzRGZpTFZsQzVEbWxYVmtKa0x6S3lobGpwOGwtN0VTWWpUcWU1SExwVUZQRTQzX1FNLU5adXhtRWQ1SFRoYmpLbGc4VzVLb3lUY3cxUDFDNlRBcWVvUTBoeFdXUm44cERUU05QcXZ5bVItZ1lObTBiSXRxNnk1U2dlaVZXeDc5MWNCT19yaU14UlE5ZFRSMnRra1hzWmNpV3lfMnRKcXFKeHhtTXItZDNxa1ptWG4zZ3RwNmhXeE8xel9vMDNkd3VFcXJCN3g0M1NuU01ZNTVDN05rbTFoN3hIbHdVcmNsOHJkOW9udWVNa2RGSm1odWxoMjFXUlk2MVR6elQzSGM1Q0dZSzBrd29wTDlFNTlvSmp6NGhrVEhRU3lQeHFjcjNaNjkyb2E2aENzSXctd3VQaHhqS1JKeE1JOGp0ZjB3V0NSUFBoNzBfTENzRVZoYXZqaXV3S0h5dUFJYkVXRlJSX3Rzd2d1ZEJNUFdidmNTNVZtWWw1d0J2X2s0dF83NWN2bUhtVHJ1U0duTDYzVlBHb3NSWFRYX3ZmQ1l6eklpcUxIYTg5V2xRMzRZWXA2cW0xcnRKb1NFY0J3WVpDWDkwYmVfRGxfZ2tqMm8wQVNMUk1PblRiOUVKUGJOOTV1bmVfejluWVBmM3ZhN1g2TVpVR3J6WGFkMGpiaDJxZV9iWjRPby1EbjNTbElTNzFWV0hPM0xUUzc2MUhjN0NFN1NoVm1CTVp3SGpNdGZjNW0zNmlSWmYxTXRyNzdjVy1UTktpQnE5RDU1VmpIQktIejluWi1Db2tHQmZET2F3YTV3Vk1vYmVRd0dtLXNmajFvbkZFV0FCOUlOWUFXWHJFYnltOERSZnlPaDlYRlRvdGxnXy1UX0ZiRlNmT1Nwd0dVNndNcmt3eXp0aDhFa1pVbWtPMWlQamx0ZlJ3UWl6Mjd6d2ZxM282elU1M2J3dTJ0MkJuTUNjaHR4R0E1YXlHNUtlS1pZWmNaX1A4RFEyLTlsVVBMN1dScmtFYWlYamZfaTBKMjV6LXhzNHBEZzdleXF0b3dLNG9YaGw4anMxdE0yQ0NLcVRPa2IwZmxMNURQdUJBa1JMX1U4Sk1DT2Z3VEU0MmdUNG8xdWZhenBNWGd2VXhjZEgxRFBTeXl3R29Sa0FtbllxRVMwWWR3ZWVKV2piOTgzVFZUaWVqNnNad1A1THI1SkNGWnpuNnhjS3dIeHlvdzV3RFM3YXB2SnNZQjg0emN2cVVGLVI3Nkdadm85cEFqVVpkdE1zamJJdFZPY2xCSnBUdHFaUl9xaVFrNUc4Sk51dFYyemF1MmFVb1RaMDNIYk1KQTB1MW5xeXllN0FyNkk0Qk1IQzd4aTdoc3c5QnJpMzNjZ0ZWNGVzQmJEWVZXTzE0YkFMQ01tdlNoTXB4TDNqX2VMbnZ2VGxTcWdBZnhXcm9xMkR6cVdpa3lRZEJRcVlkclJaanVWV1BVMTFZbEVpRTM4cFpiZ3NTUlhhbFo5QUg0SkFza1Z1aEk3czZuclZDeUxKMGJUTzFpTUFodWw2bEFPcnUzQ3FaMzR4b0puZHdjb2RMTzBzZ2U1ak9sQlNudkU5cmZQTmYwa1NXUE40UTk5RkJLUjRXWFFLRHpGYUZ5REdUZEhKVmZ6eDdOSHZ2ZlZaeXlrczNQVDVyRXgwZklqS1MwQmEwbWYyTk1mcjlLdUpvRzFJRmtOUERSXzZtTzhkd2t0RnVXSVNxOHF4LXdJZ1Njb2d4NFZzS1VwQUM5ZFk5RnpTdWpTY3puaEI1TkJXRWJxRHcyaEJ3dkMtUlA0VVlUR2pTX3VJb1lJY0d5RGJBLUlXYVlaVXNoOVRCMWxIS2NBdURhbW5URkFiaFR2dU1pWUdXT00wOXhzZm9lYUI4U1BUZ2ZvMTdMRUw5VnZmV1lRSXlSZ054Nzc0dmV0VUowdzZ0YUp4cDYtMFZIVi1FR3UzRExrdkZvWlRPMXd6NjI2MlhxMmdVV00xZE1FMW9UXy1aN0ZOZXdmWndpVDBmZW81RWNESmZCSVdyYUhDSEhUNDFGcnUyZFlKNFFLcW51MnF1Sk5MckNEREFaUmJIR0xCcHVNaGdMQzJSeWlEOGhYR1loNWFvaktTYzJEZGVzY3FQcFdsRVdTa1pHS0cySFlNYTBFSmpBVWk5LVZHLWlMc0ljeHA4MHBIXzlONi1WRFc1S2d4MDZRUlZ3M0JnOHNWQVNRdzNmVkZpWHl6elpLS3FKMV9WR1Y3LWkzTzhQeDFqRXQ3QzJYTFhDd2FLeExIY1VZT0JHYWxZSERGUkhRUW9OclAtRGFQQ1p4ZGxMLVMzc0E4WjBIYVlneVhUT3hObUstUlREMlRFbjVfaGpmckRtR0pmeWlBeUp2VF9TeTQ3SVotNG55VlhzWEVlbTMyRTA1WGtKdlJBaV9ROWg1STcxR2ZJUUdkdVdBREtmcGp5RTRwMTE3WlE5STBKSldTZENQWDdaeHFPUnhzQXloVlM1RXFEajRKT1c4NWw1UWhKYmdXT0lNR2NYT2pTaVFIVkRidHFVdy1ROTBsRVVOVWdmSy1pWGtaajRmUEtfRmxkZGh2SWd0ZS11SXZUdERDZi0ycmxzRUUzWTBkX2YzNTZyVEFrWjZLVTVWOHJoYXdaNVlUSHBEWnpBXzdySFVZSXBXSG5QdkE1cmU3VUtRbVI0V2NKR2czaS1weWNGYVdQRi1PbThQX29zdktueGt2ZmQydm52OTNKVHNNVGVYSXpVaEU2S0VtZUc5Y0VpaWxITkJQWmVFbzVzS2dpQ1VlV3hpMm5lTG4zdllvV05kbWVOb1NvVnNRQ1U4anZvZkw1TnczZjZERVp4XzRSSURWcVRydlZQbVp0NDh3ZEdXbHdhSEcyY3hhNjAtbzNvYUQwR0dncEplY0JMVXFMdmVLYU1hdTRCQXphSER4REQtWVBJaUQ4RGZoMlFCWkxJNW9JcU04Ti1oMk5nb1VLNTV5eU5HQU5mY05EZ2JmQUp5bmRwZ2dPR3ptYllFOFp5TUNhSEUwa0RfSWphNGlLbHdvSGUzeWdNdlRWaGtYMFB4aGJVMjdKbm10UC1UaG92NGU5ZzFsT011OFJFOFUxTnF5REtQazBtUkxEY0dPdXlBNmRnZDlzM0p4QWZ2ZjdNS3U1VGZIZU14eTlmYUROM2d5SE5XT0JYZlZSYUlwdk5Wa2hMWkJEYm9SbGcydV9xYTlzVmVZSUtNYU1idUI1aXVjMnQ1NWU3VzdLX3NldHdqUE43N3U4V1gtTVI5V0x3b1EuakZUVjd6TGRPZ3MzQlJoSERZbmMwUQ.fkGoEqTEhXqn2alXcx0X-fPD7LEC7T1oo4S6i2YEfBcd-AB-EUqWT0xZj_6CQ5gWgAy085peizISvtQkFIrxSSspXTRckNf6pQymhNgDOBsh0-Msjfmca_-aPSJRtOkmnRWAF__ZTKlU2X20KUd52dCFAcl7BeL7MHOPMH1_EnrUo4mP47rtlPzaBlhcO2zcoq90DtDDOf424FwioeQxm53awGPI_3xDX5OtUtAw4Xf_ftJGJC4lSPVhPcpiHRZnWq1sCcyL8RqHKCxC8UdjfItk11bKSPc__YzMcbMFxIlKb7-Jyf4lGmsCjxyK4SwFnkqQgt-p0IidOAZ7kitLrg
  1. You wouldn't recognize the meaning of JWT response and it is required to decode it, refer to Process JWT Request with Keys

  2. Below are sample settle response refer to Response Parameter for API Specification.

<IppOptionResponse>
   <version>2.1</version>
   <timeStamp>131221155503</timeStamp>
   <respCode>00</respCode>
   <hashValue>F0DCB72B560001A297E49DFB02A0D6E17A68EE3A</hashValue>
   <respReason>Success</respReason>
   <ippBanks>
      <ippBank>
         <bankName>HSBC</bankName>
         <bankShortName>HSBC</bankShortName>
         <bankLogoUrl>https://d11fwxgc8zkidi.cloudfront.net/images/ippbanklogo/27.png</bankLogoUrl>
         <bankPromoUrl>https://d11fwxgc8zkidi.cloudfront.net/images/ipppromologo/27.png</bankPromoUrl>
         <bankTerms>&amp;lt;a href=&amp;quot;https://www.hsbc.com.sg/1/2//personal/cards/card-instalment-plan-tnc&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;HSBC IPP Terms and Condition &amp;lt;/a&amp;gt;</bankTerms>
         <bins>
            <bin>424625</bin>
            <bin>448521</bin>
            <bin>534986</bin>
            <bin>538185</bin>
         </bins>
         <installmentOptions>
            <option id="1" installmentPeriod="6" merInterestRate="1.0000" cusInterestRate="1.0000" minAmount="1.00" currencyCode="SGD" validFrom="2018-02-06" validUntil="2023-02-01" />
            <option id="2" installmentPeriod="3" merInterestRate="1.0000" cusInterestRate="1.0000" minAmount="1.00" currencyCode="SGD" validFrom="2018-02-06" validUntil="2023-02-01" />
            <option id="3" installmentPeriod="9" merInterestRate="1.0000" cusInterestRate="1.0000" minAmount="1.00" currencyCode="SGD" validFrom="2018-02-06" validUntil="2023-02-01" />
            <option id="4" installmentPeriod="12" merInterestRate="1.0000" cusInterestRate="1.0000" minAmount="1.00" currencyCode="SGD" validFrom="2018-02-06" validUntil="2023-02-01" />
         </installmentOptions>
      </ippBank>
      <ippBank>
         <bankName>Pay Small by American Express</bankName>
         <bankShortName>AMEXSG</bankShortName>
         <bankLogoUrl>https://d11fwxgc8zkidi.cloudfront.net/images/ippbanklogo/40.png</bankLogoUrl>
         <bankPromoUrl />
         <bankTerms>&amp;lt;a href=&amp;quot;https://www.americanexpress.com/sg/benefits/service-security/ways-to-pay/paysmall/&amp;quot;&amp;gt;Pay Small by American Express &amp;lt;/a&amp;gt;</bankTerms>
         <bins>
            <bin>374340</bin>
            <bin>376215</bin>
            <bin>376222</bin>
            <bin>376317</bin>
            <bin>376358</bin>
            <bin>378282</bin>
         </bins>
         <installmentOptions>
            <option id="1" installmentPeriod="12" merInterestRate="1.0000" cusInterestRate="2.0000" minAmount="1.00" currencyCode="SGD" validFrom="2018-02-06" validUntil="2023-02-01" />
            <option id="2" installmentPeriod="6" merInterestRate="-1.0000" cusInterestRate="2.0000" minAmount="1.00" currencyCode="SGD" validFrom="2018-02-06" validUntil="2023-02-01" />
            <option id="3" installmentPeriod="9" merInterestRate="1.0000" cusInterestRate="2.0000" minAmount="1.00" currencyCode="SGD" validFrom="2018-02-06" validUntil="2023-02-01" />
         </installmentOptions>
      </ippBank>
   </ippBanks>
</IppOptionResponse>