Alipay, China's leading third-party online payment solutionAlipay, China's leading third-party online payment solutionDOCS

      Code Issuer Table

      A code issuer table lists the code issuer ID (CII) and regular expression for different length of the consumer-presented code. You can use the table to track the issuer of a consumer-presented code, which is determined by the code length, code format and CII.

      A demo of the table is shown as follows:

      Table 1.2: Code issuer table demo (Last updated on Jun 16, 2020)


      Length of CPC

      Code Issuer ID (CII)

      Other Conditions

      Regular Expression

      Code Issuer

      1

      17

      28

      N/A

      28[0-9]{15}

      PSP 1

      2

      18

      28

      N/A

      28[0-9]{16}

      PSP 2

      3

      19

      280 ~ 288

      N/A

      28[0-8]{17}

      PSP 3

      4

      19

      289

      14th byte does not equal to "6"

      289[0-9]{10}[0-57-9][0-9]{5}

      PSP 4

      5

      19

      289

      14th byte equals to "6"

      289[0-9]{10}6[0-9]{5}

      PSP 5

      6

      24

      28100100 ~ 28100199

      N/A

      281001[0-9]{18}

      PSP 6

      7

      24

      28100300 ~ 28100399

      N/A

      281003[0-9]{18}

      PSP 7

      8

      24

      28100400 ~ 28100499

      N/A

      281004[0-9]{18}

      PSP 8

      9

      24

      28100500 ~ 28100599

      N/A

      281005[0-9]{18}

      PSP 9

      10

      24

      28100600 ~ 28100699

      N/A

      281006[0-9]{18}

      PSP 10

      11

      24

      28100700 ~ 28100799

      N/A

      281007[0-9]{18}

      PSP 11

      12

      24

      28100900 ~ 28100999

      N/A

      281009[0-9]{18}

      PSP 12

      13

      24

      28101000 ~ 28101099

      N/A

      281010[0-9]{18}

      PSP 13

      14

      24

      28101100 ~ 28101199

      N/A

      281011[0-9]{18}

      PSP 14

      15

      24

      28101200 ~ 28101299

      N/A

      281012[0-9]{18}

      PSP 15

      16

      24

      28101300 ~ 28101399

      N/A

      281013[0-9]{18}

      PSP 16

      17

      24

      28101400 ~ 28101499

      N/A

      281014[0-9]{18}

      PSP 17

      18

      24

      28101800 ~ 28101899

      N/A

      281018[0-9]{18}

      PSP 18

      19

      24

      28101900 ~ 28101999

      N/A

      281019[0-9]{18}

      PSP 19

      20

      24

      28102000 ~ 28102099

      N/A

      281020[0-9]{18}

      PSP 20

      21

      24

      28102100 ~ 28102199

      N/A

      281021[0-9]{18}

      PSP 21

      22

      24

      28102200 ~ 28102299

      N/A

      281022[0-9]{18}

      PSP 22

      23

      24

      28102300 ~ 28102399

      N/A

      281023[0-9]{18}

      PSP 23

      24

      24

      28102400 ~ 28102499

      N/A

      281024[0-9]{18}

      PSP 24

      25

      24

      28102500 ~ 28102599

      N/A

      281025[0-9]{18}

      PSP 25

      26

      24

      28102600 ~ 28102699

      N/A

      281026[0-9]{18}

      PSP 26

      27

      24

      28166600 ~ 28166699

      N/A

      281666[0-9]{18}

      PSP 27

      28

      24

      28180100 ~ 28180199

      N/A

      281801[0-9]{18}

      PSP 28

      29

      24

      30103100 ~ 30103199

      N/A

      301031[0-9]{18}

      PSP 29

      30

      24

      30103200 ~ 30103299

      N/A

      301032[0-9]{18}

      PSP 30

      31

      24

      30103900 ~ 30103999

      N/A

      301039[0-9]{18}

      PSP 31

      #Get a copy

      Contact us to get the lastest version of the code issuer table.

      #Use

      As an acquirer or ISV, you can determine the issuer of a consumer-presented code after you obtain the value of a consumer-presented code. When you test parameters in the table, such as length of CPC, CII and other conditions, follow the exact sequence. A sample of code snippet is shown as follows:

      copy
      package bar;
      
      import java.util.List;
      
      public class RoutingDemo {
      
          /**
           * Given routes configuration, find the route for the specific userCode.
           * 
           * @param userCode
           * @param routes
           * @return
           */
          public String[] routeDecision(String userCode, List<String[]> routes) {
              
              
              for (String[] route : routes) {
                  
                  //Return the first matching route if any.
                  if (match(route, userCode)) {
                      return route;
                  }
              }
      
              throw new IllegalArgumentException("No route matches against " + userCode);
          }
      
      
          /**
           * 
           * Whether a single route rule matches the given userCode.
           * 
           * @param cci
           * @param userCode
           * @return
           */
          private boolean match(String[] route, String userCode) {
      
              String regex = route[3];
      
              return userCode.matches(regex);
      
          }
      
      }
      

      Note:

      We recommend you not to hardcode the issuer determination process, in case of any further changes to the table.

      After you determine the code issuer, you can pick up a route and forward a transaction to the code issuer. For more details, see Transaction Processing.

      #Apply for a code issuer ID

      If you are seeking for the issuance of consumer-presented codes, click here to apply for a code issuer ID. You will then be registered into the code issuer table, so that the code can be identified by institutions who process transactions according to the code issuer table.

      If you already issue codes, you can also contact us to register your existing issuing rules to the routing table. We will reply to you the required information for application and the application result.

      #More information

      Consumer-Presented Mode

      Code Format

      Code Sample

      Transaction Processing

      Terminology

      Contact Us