PayproPaypro
  • ๐Ÿ‡ฎ๐Ÿ‡ฉ Indonesia
  • ๐Ÿ‡ต๐Ÿ‡ฐ Pakistan
  • ๐Ÿ‡ป๐Ÿ‡ณ Vietnam
  • ๐Ÿ‡ต๐Ÿ‡ญ Philippines
  • ๐Ÿ‡ฐ๐Ÿ‡ช Kenya
  • ๐Ÿ‡ช๐Ÿ‡ฌ Egypt
  • ๐Ÿ‡ง๐Ÿ‡ท Brazil
  • ๐Ÿ‡ฒ๐Ÿ‡ฝ Mexico
  • ๐Ÿ‡ฎ๐Ÿ‡ฉ Indonesia
  • ๐Ÿ‡ต๐Ÿ‡ฐ Pakistan
  • ๐Ÿ‡ป๐Ÿ‡ณ Vietnam
  • ๐Ÿ‡ต๐Ÿ‡ญ Philippines
  • ๐Ÿ‡ฐ๐Ÿ‡ช Kenya
  • ๐Ÿ‡ช๐Ÿ‡ฌ Egypt
  • ๐Ÿ‡ง๐Ÿ‡ท Brazil
  • ๐Ÿ‡ฒ๐Ÿ‡ฝ Mexico
  • Vietnam

    • Overview
    • Error Code
    • Payment API
    • Payout API
    • Payment Query API
    • Payout Query API
    • Payment Notify API
    • Bank List
    • Balance Inquiry API

Overview

    Brief Description
    • This section describes the parameters to be obtained before interconnection
    Brief Description

    Merchant Number

    • The merchant number is the parameters obtained after the merchant receives the information that sent to you by text /Telegram/ email after the Paypro workbench staff opens the account
    ParameterDescription
    Merchant Backstagehttps://partner-test.paypro.tech/admin/login
    Merchant Number10-digit merchant number (example: 0000000001)
    Merchant Login AccountUsually log in by email account
    Merchant Login PasswordChange your password immediately after logging in by agreed email account
    Merchant KeyCan be obtained by operation in homepage after the merchant logs in the system
    Brief Description

    API Request URL

    • Sandbox URL๏ผšhttps://openapi-test.paypro.tech/vietnam-pay
    • Sandbox merchant number: 1573818477
    • Sandbox key: Please contact the business development officer
    • Production URL๏ผš Please contact the business development officer
    The information returned by the interface prioritizes determining whether the first
    layer's request is successful, and only after the request is successful, the second
    layer's transaction results could be checked
    
    Brief Description

    Signature Logic

    • 1๏ผšThe interface must report the sign parameter and the signing logic

    Step 1: All requested parameters are judged from a to z according to the first letter of the parameter name, and combined into key1=value1key2=value2......

    List<String> keys = Lists.newArrayList(map.keySet());
    Collections.sort(keys);
    StringBuilder request = new StringBuilder();
    for (String key : keys) {
      String value = String.valueOf(map.get(key));
      if (StrUtil.isNotEmpty(value) && !"sign".equals(key)) {
        request.append(key).append("=").append(value);
      }
    }
    log.error("encrypt string : {}", request);
    
    

    Step2๏ผšUse app secret as salt for md5 encryption.

    ParameterDescription
    SIGN_TYPEMD5
    CHARSET_NAMEUTF-8
    saltPrivate Key
    try {
     MessageDigest md5 = MessageDigest.getInstance(SIGN_TYPE);
     md5.update((str + salt).getBytes(CHARSET_NAME));
     return byte2hex(md5.digest());
    } catch (Exception e) {
     if (log.isDebugEnabled()) {
       log.debug("md5 ๅŠ ๅฏ†ๅผ‚ๅธธ", e);
     }
    }
    return "";
    
    
    public static String byte2hex(byte\[\] bytes) {  
      StringBuilder sign = new StringBuilder();  
      for (int i = 0; i < bytes.length; i++) {  
        String hex = Integer.toHexString(bytes\[i\] & 0xFF);  
        if (hex.length() == 1) {  
          sign.append("0");  
        }  
        sign.append(hex.toLowerCase());  
      }  
      return sign.toString();  
    }
    
    • 2๏ผšThe requested merchant number is required to be added in the header submission.
    • 3๏ผšIP whitelists need to be added during the test. For this operation, please contact Paypro business development officer.
    Brief Description

    Request Parameter Acquisition

    
    public static Long getMilliByTime(LocalDateTime time) {
     return time.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli();
    }
    
    
    Brief Description

    Request method

    • All requests are Post requests, and the data format is json
    Last Updated:
    Contributors: wsc
    Next
    Error Code