CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/maven-com-github-binarywang--weixin-java-pay

Comprehensive Java SDK for integrating with WeChat Pay services including unified orders, refunds, enterprise payments, red packets, profit sharing, and marketing services

Pending
Overview
Eval results
Files

configuration-security.mddocs/

Configuration and Security

Configuration management, certificate handling, signature processing, and multi-merchant support for enterprise deployments.

Capabilities

Basic Configuration

Core configuration setup for WeChat Pay integration.

/**
 * Set payment configuration
 * @param config WeChat Pay configuration
 */
void setConfig(WxPayConfig config);

/**
 * Get current configuration
 * @return Current WeChat Pay configuration
 */
WxPayConfig getConfig();

Usage Example:

// Create and configure WxPayConfig
WxPayConfig config = new WxPayConfig();
config.setAppId("your-app-id");
config.setMchId("your-merchant-id");
config.setMchKey("your-merchant-key");
config.setKeyPath("/path/to/cert.p12");

// API v3 configuration
config.setApiV3Key("your-api-v3-key");
config.setCertSerialNo("certificate-serial-number");
config.setPrivateKeyPath("/path/to/private-key.pem");

// Set configuration
wxPayService.setConfig(config);

Multi-Merchant Support

Manage multiple merchant configurations in a single application.

/**
 * Add merchant configuration
 * @param mchId Merchant ID
 * @param wxPayConfig Merchant configuration
 */
void addConfig(String mchId, WxPayConfig wxPayConfig);

/**
 * Remove merchant configuration
 * @param mchId Merchant ID to remove
 */
void removeConfig(String mchId);

/**
 * Switch to specific merchant
 * @param mchId Target merchant ID
 * @return true if switch successful
 */
boolean switchover(String mchId);

/**
 * Switch to specific merchant with exception on failure
 * @param mchId Target merchant ID
 * @return Service instance for chaining
 * @throws WxPayException if switch fails
 */
WxPayService switchoverTo(String mchId);

Certificate Management

Handle WeChat Pay certificates for secure communication.

/**
 * Initialize V3 HTTP client with certificates
 * @throws WxPayException if initialization fails
 */
void initV3HttpClient() throws WxPayException;

/**
 * Get certificate serial number
 * @return Certificate serial number
 */
String getCertSerialNo();

Signature Operations

Generate and verify signatures for API security.

/**
 * Create signature for parameters
 * @param params Parameter map
 * @param signType Signature type
 * @return Generated signature
 * @throws WxPayException if signature generation fails
 */
String createSign(Map<String, String> params, SignType signType) throws WxPayException;

/**
 * Verify signature of parameters
 * @param params Parameter map with signature
 * @return true if signature is valid
 * @throws WxPayException if verification fails
 */
boolean checkSign(Map<String, String> params) throws WxPayException;

Configuration Types

WxPayConfig

class WxPayConfig {
    // Basic configuration
    String appId;             // Application ID
    String mchId;             // Merchant ID
    String mchKey;            // Merchant key
    String keyPath;           // Certificate path (.p12)
    
    // API v3 configuration
    String apiV3Key;          // API v3 key
    String certSerialNo;      // Certificate serial number
    String privateKeyPath;    // Private key path
    String privateCertPath;   // Private certificate path
    
    // HTTP configuration
    Integer httpConnectionTimeout;  // Connection timeout
    Integer httpTimeout;           // Request timeout
    WxPayHttpProxy httpProxy;      // Proxy configuration
    
    // Environment settings
    boolean useSandbox;       // Use sandbox environment
    boolean autoReport;       // Auto error reporting
    
    // Methods
    void setKeyContent(byte[] keyContent);
    void setPrivateKeyContent(byte[] privateKeyContent);
    void setSandbox(boolean sandbox);
}

Security Features

// Signature types
enum SignType {
    MD5,
    HMAC_SHA256
}

// Certificate utilities
class CertificateUtils {
    static X509Certificate loadCertificate(String certPath);
    static PrivateKey loadPrivateKey(String keyPath);
}

Install with Tessl CLI

npx tessl i tessl/maven-com-github-binarywang--weixin-java-pay

docs

advanced-services.md

configuration-security.md

core-payment.md

enterprise-services.md

index.md

notification-processing.md

payment-methods.md

refund-management.md

tile.json