Skip to main content

LianLian configuration guide

This guide walks you through locating your LianLian merchant information, configuring the two RSA key roles, reviewing callback settings, and saving the connection in EFundPay Dashboard.

You need the following values from the same LianLian account and environment:

EFundPay fieldSourcePurpose
LianLian Merchant IDMerchant ManagementMerchant InformationMerchant NumberIdentifies the LianLian Global Acquiring merchant account.
LianLian Site ID (optional)A site or sub-merchant ID issued separately by LianLianIdentifies the LianLian site/sub-merchant. Leave it empty if LianLian did not issue one.
Merchant Request-signing Private KeyThe merchant's PKCS#8 RSA private keySigns requests sent by EFundPay to LianLian.
LianLian Platform RSA Public KeyDeveloper ManagementKey ConfigurationLianLianPay Public KeyVerifies responses and notifications sent by LianLian.
Keep the private key secret

The merchant private key is a credential. Do not upload it to LianLian, include it in screenshots, tickets, chat messages, client-side code, or source control. Only register its paired merchant public key with LianLian.

1. Select the correct environment

Sign in to the LianLian Global Acquiring Dashboard using the account that matches the EFundPay connection you will create.

Sandbox and production use different merchant configuration and RSA keys. When you select SANDBOX in EFundPay, use the sandbox merchant information and keys; when you select PRODUCTION, use the production values from the same production account.

2. Copy the LianLian Merchant ID

In the LianLian Dashboard:

  1. Open Merchant Management in the left navigation.
  2. Select Merchant Information.
  3. Copy the value next to Merchant Number. Enter this value in EFundPay as LianLian Merchant ID.

Locate the LianLian Merchant Number under Merchant Information

The optional LianLian Site ID is not the EFundPay merchant ID or EFundPay site ID. Enter it only when LianLian has explicitly issued a site/sub-merchant ID for this account; otherwise leave the field empty.

3. Configure the RSA keys

LianLian uses two different RSA key pairs. Their roles must not be swapped:

KeyWhere it belongsWhat it does
Merchant private keyEFundPay Merchant Request-signing Private KeyEFundPay signs requests.
Paired merchant public keyLianLian Merchant Public KeyLianLian verifies requests from EFundPay.
LianLian platform public keyEFundPay LianLian Platform RSA Public KeyEFundPay verifies LianLian responses and notifications.

Prepare a merchant RSA key pair according to your LianLian onboarding requirements. The private key entered in EFundPay must be a Base64-encoded PKCS#8 RSA private key. Paste only the encoded key value, without PEM headers such as -----BEGIN PRIVATE KEY-----, footers, spaces, or line breaks.

Then, in the LianLian Dashboard:

  1. Open Developer ManagementKey Configuration.
  2. Register the public key paired with the merchant private key under Merchant Public Key.
  3. Copy the value under LianLianPay Public Key. This is the value to enter in EFundPay as LianLian Platform RSA Public Key.

Register the merchant public key and copy the separate LianLianPay public key

Do not copy the merchant public key into both systems

The Merchant Public Key displayed in the upper section is not the LianLian platform public key. EFundPay needs the merchant private key and the separate LianLianPay Public Key from the lower section.

When rotating a production key pair, coordinate the update so that the merchant public key registered with LianLian always matches the merchant private key saved in EFundPay.

4. Configure the EFundPay webhook URLs

For standard EFundPay payment and refund processing, EFundPay includes the payment or refund notification_url in each request sent to LianLian. You do not need to manually add a fixed EFundPay payment/refund callback URL in Developer ManagementCallback Management.

Card-token results, together with the ChargeBack and RDR notifications delivered through LianLian's Dispute Callback setting, are account-level events. You must configure the two fixed EFundPay webhook URLs below in the LianLian Dashboard. The URLs are case-sensitive; copy them exactly as shown.

LianLian callbackEFundPay webhook URL
Card Binding Result Callbackhttps://notify.efundpay.com/Lianlian/notifyGateway/card-tokens/notify
Dispute Callback (LianLian UI label; carries ChargeBack and RDR notifications)https://notify.efundpay.com/Lianlian/notifyGateway/disputes/notify

In the LianLian Dashboard:

  1. Open Developer ManagementCallback Management.
  2. In Card Binding Result Callback, select Add.
  3. Paste https://notify.efundpay.com/Lianlian/notifyGateway/card-tokens/notify, save it, and make sure the callback is enabled.
  4. In Dispute Callback, select Add.
  5. Paste https://notify.efundpay.com/Lianlian/notifyGateway/disputes/notify, save it, and make sure the callback is enabled.

Add the EFundPay card-binding and ChargeBack/RDR webhook URLs under Callback Management

Configure both URLs

Do not put a payment or refund notification URL into either field. Payment/refund notification URLs are sent per transaction; the two URLs above are dedicated to card-token and ChargeBack/RDR notifications. Use these same EFundPay URLs for sandbox and production—the Merchant ID, optional Site ID, and RSA public key saved on the EFundPay connection determine which configuration is used to verify each notification.

ChargeBack and RDR are different event types

Although LianLian provides one setting named Dispute Callback, this does not make an RDR notification a chargeback. ChargeBack is a formal chargeback notification and is routed into EFundPay's dispute workflow. RDR (Rapid Dispute Resolution) is a pre-dispute alert and automatic-refund outcome; EFundPay records and routes it separately and does not create a formal dispute from it.

EFundPay verifies every notification using the LianLian Platform RSA Public Key from step 3. The card-binding endpoint handles create, unbind, and update token events. The callback endpoint shown as Dispute Callback in LianLian handles both formal ChargeBack notifications and pre-dispute RDR notifications, distinguished by the dispute_type value. If the signature is valid and the event is stored successfully, EFundPay returns the acknowledgement required by LianLian.

5. Save the connection in EFundPay Dashboard

In EFundPay Dashboard, open ConnectionsYour connections, locate LianLian, and select Configure. Complete the form as follows:

Dashboard fieldWhat to enter
Reference nameA name that helps your team identify this account, such as LianLian sandbox merchant.
EnvironmentSANDBOX or PRODUCTION; it must match the merchant account and keys used above.
Payment methodsSelect only the payment methods enabled for your LianLian merchant account.
Card brandsIf shown, select only the card brands enabled for the account.
LianLian Merchant IDThe Merchant Number copied in step 2.
LianLian Site IDThe LianLian-issued site/sub-merchant ID, or leave it empty when none was issued.
Merchant Request-signing Private KeyThe merchant's Base64-encoded PKCS#8 RSA private key from step 3.
LianLian Platform RSA Public KeyThe LianLianPay Public Key copied in step 3.

Map the LianLian values to the EFundPay connection fields

Select Save. When editing an existing connection, leave a masked secret field unchanged to keep the saved value. Clear it only when you intentionally want to replace that credential.

6. Verify the setup

Before going live:

  1. Confirm the Merchant ID, environment, and both RSA keys all belong to the same LianLian account and environment.
  2. Confirm the merchant public key registered with LianLian is paired with the merchant private key saved in EFundPay.
  3. Confirm the value saved as LianLian Platform RSA Public Key was copied from the LianLianPay public-key section, not from the merchant public-key section.
  4. Create a sandbox payment and verify that its status is updated after LianLian sends the asynchronous notification.
  5. Test a sandbox refund and verify the refund status update.
  6. Trigger or ask LianLian to send a sandbox card-binding result, then verify that the callback is successful in LianLian Callback Records.
  7. If ChargeBack notifications are enabled for the account, verify one sandbox CHARGEBACK notification in Callback Records. If the account also uses RDR, separately verify one sandbox RDR pre-dispute notification.
  8. Repeat the merchant and key configuration for production before changing the EFundPay connection to PRODUCTION.

Troubleshooting

SymptomWhat to check
Request signature or authentication failedVerify that the private key is PKCS#8 Base64 without PEM headers or whitespace, and that its paired public key is registered under Merchant Public Key in the same environment.
Response or notification signature verification failedCopy the LianLianPay Public Key again. Do not use the merchant public key, and make sure it belongs to the same environment as the Merchant ID.
Invalid secondary merchant/site IDLeave LianLian Site ID empty unless LianLian issued one. Do not copy the primary Merchant ID or an EFundPay merchant/site ID into this field.
A card-binding, ChargeBack, or RDR event is not updatedConfirm that the correct URL is saved under the matching callback setting, including the capital L in /Lianlian/, and that the callback is enabled. Then check Callback Records for the HTTP result and confirm that dispute_type is CHARGEBACK or RDR as expected.
A card-binding, ChargeBack, or RDR callback reports a signature errorCopy the LianLianPay Public Key again and make sure the EFundPay connection Merchant ID, optional Site ID, environment, and public key belong to the account that sent the notification.
Payment or refund remains processingVerify the LianLian platform public key and confirm that the transaction request was accepted. EFundPay supplies the notification URL per request; changing the card-binding or ChargeBack/RDR callback cannot fix a payment/refund notification.
Direct API returns a referer/site errorConfirm that the customer-facing site URL is registered and enabled for the LianLian merchant account. This is separate from the optional LianLian Site ID field.

For an overview of the connector, see LianLianPay overview.

LianLian reference: Card binding result notification and dispute result notification.

Powered by Docusaurus