### Public Key Format Example Source: https://open.lianlianpay.com/docs/development/signature-key-generation.html Example of the public key string after removing headers, footers, and line breaks for upload. ```text MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC65wUFTP1VE2hAi1v1WjHySuC2+lmWi+iMujGFq9A+K0pN1VP99y77m0T1EAMpVlKU/LIGh29m5D5ftfgwLwBC6EftsiBkTaul+qKgEfw67/2+jDqJMxBqvSsTkDOOGkR4MARGw07dSFhSI9uNQOVgSaZqyy58igGZu405gpiE6QIDAQAB ``` -------------------------------- ### Instalment Positive Payment Response Example Source: https://open.lianlianpay.com/apis/instalment-positive-payment.html A sample JSON response returned upon a successful payment request, containing the transaction status, order identifiers, and the gateway URL for redirection. ```json { "correlationID": "53f83013-33dc-4c72-929d-c82c51fec0d3", "dt_order": "20181113105431", "gateway_url": "https://payment.lianlianpay.com/mpayweb/payinit?token=564EC9037239E4BFBE88A549D9EACE8A", "money_order": "0.01", "no_order": "test_order_20181113105431", "oid_partner": "201609130000219023", "oid_paybill": "2018111335384056", "repayment_no": "test_order_20181113105431", "ret_code": "0000", "ret_msg": "交易成功", "sign": "juhmbC7w48HfKFe/vTRaVC7G7jhSI31whsonbpaz1t9vbLycHdOtanjuXAYwnKrkFf/wkx7PZJ4LfC1sqUzUmaOdc+I8Q5O7R8IZPP4loGSJpSxkm7tVqm/xiROfmNH5K6vUGesnDCN5reW4Nfrq7oP0X6Jk21XDF78aX8Nv5w0=", "sign_type": "RSA", "token": "564EC9037239E4BFBE88A549D9EACE8A", "user_id": "test_126" } ``` -------------------------------- ### API Response Example Source: https://open.lianlianpay.com/apis/instalment-negative-card-bind.html A sample JSON response returned upon a successful instalment negative card bind request. ```json { "correlationID": "84729798-bfe8-4875-870a-89d79c091164", "dt_order": "20181113133745", "gateway_url": "https://payment.lianlianpay.com/mpayweb/payinit?token=F2856C340A33E9D519A4DA0D6BA382BC", "money_order": "0.01", "no_order": "test_order_20181113133745", "oid_partner": "201609130000219023", "oid_paybill": "2018111335524882", "repayment_no": "test_order_20181113133745", "ret_code": "0000", "ret_msg": "交易成功", "sign": "ia3alXw9S+EIwkP+Cxv6sfFHaoTRevSfAo4QFLydKT00QeBPQ7WuWUGY9u8YeIIK0D12I5qkBeIdAOHfgrCOjGgA7s8uiADvWEnvN7sqOIlV1DS905Bg5W6ZAQK6r45sUMLyLfthkxin/GQifvYORofa9M5YZJY3TeNWlw+C/WA=", "sign_type": "RSA", "token": "F2856C340A33E9D519A4DA0D6BA382BC", "user_id": "test_126" } ``` -------------------------------- ### Successful Response Example Source: https://open.lianlianpay.com/apis/instant-apply.html Example of a JSON response returned when the payment application is successfully submitted. ```json { "no_order": "2016081814228", "oid_partner": "201606020000150062", "oid_paybill": "2016081847411984", "ret_code": "0000", "ret_msg": "交易成功", "sign":"gMMBfHBkD6gFDfV0DgA9yGYubY1nejBnVpEh0UTAgYPIYVb5F7TPdoh8R3WnYPFn3RFG4M4oRJT26wdbXtJj84z5N1mzqIOxBzQ6IZ5gXz2tFq1dWy9ro0GDG9DmxPpTj5BidOzE4 85/caI81EEtQnvrva4z14NHFL3vEC2QJoo=", "sign_type": "RSA" } ``` -------------------------------- ### H5 Signing Synchronous Notification URL Example Source: https://open.lianlianpay.com/vault/docs/receive-money/instalment/handle-sync-result-card-bind-h5.html An example of the URL structure received at the merchant's url_return containing the status and JSON-encoded result parameters. ```text ${url_return}?status=0000&result={"oid_partner":"201103171000000000","user_id":"2222222","agreeno":"12313232313312331","sign_type":"RSA","sign":"ZPZULntRpJwFmGNIVKwjLEF2Tze7bqs60rxQ22CqT5J1UlvGo575QK9z/+p+7E9cOoRoWzqR6xHZ6WVv3dloyGKDR0btvrdqPgUAoeaX/YOWzTh00vwcQ+HBtXE+vPTfAqjCTxiiSJEOY7ATCF1q7iP3sfQxhS0nDUug1LP3OLk="} ``` -------------------------------- ### WxPay Create Bill Response Example Source: https://open.lianlianpay.com/apis/wxpaycreatebill.html A sample JSON response returned by the API upon a successful transaction. ```json { "ret_code": "0000", "ret_msg": "交易成功", "sign_type": "RSA", "sign": "9K9+wUL3NuRdFy60rOXDWqcmtTD7k8PMII8HUb9czISzXp8ff1sPH1jCVxM=", "no_order": "4d80a9b351f8b167a661c84dc013e927", "dt_order": "20170824102755", "money_order": "598.35", "oid_paybill": "2017122889360863", "gateway_url": "https://paymentweb.lianlianpay.com/paymentweb/payinit?token=4a1123e3f123138df813ab81de8", "token": "4a1123e3f123138df813ab81de8" } ``` -------------------------------- ### Bank Card Prepayment Request Example Source: https://open.lianlianpay.com/apis/signingPayment-application.html Initial request format for the bank card prepayment API using standard JSON parameters. ```curl curl https://mpayapi.lianlianpay.com/v1/bankcardprepay \ -H "Content-type:application/json;charset=utf-8" \ -d '{ "acct_name": "李天增", "bind_mob": "18667341234", "busi_partner": "101001", "card_no": "8888888888888888", "dt_order": "20180828153543", "id_no": "330401198001014616", "money_order": "55.44", "name_goods": "点读机", "no_order": "20180828153543", "notify_url": "http://test.yintong.com.cn/help/notify.php", "oid_partner": "201304121000001004", "risk_item":"{\"goods_name\":\"订单编号:2207071708xxxxxxxxx0z78\",\"frms_client_chnl\":\"16\",\"user_info_mercht_userno\":\"551xxxxx\",\"user_auth_flag\":\"0\",\"frms_ip_addr\":\"xxx.xxx.xxx.xxx\",\"frms_ware_category\":\"4016\",\"user_info_dt_register\":\"20201029xxxxxx\"}","sign":"bFopcv3ZH90Pt1dDf5LdGiFMaS3JJrWgJ9BD5u9bQfrPDc6BWGxjJ8PQq0E/u5jM629Dc/KGoSSEkPdWRREopYKY5hjKkNKfbsBLYCNQvFdnn82UuOnqzZWDITSYsh7bmu8khvLNCZw2FsaXtIKlF5nU2rPnau5mn/PmhRXjOrI=", "shareing_data": "201804110001739005^101001^108.23^大行贷回款分账2018073000420881350_1", "pay_type": "2", "sign": "HTFW/Tzk4xzGOZGCFD9LwisGg6Wsnn/THQbcLPTz3rqQmdsVXmVcnoyNrPTUh46GD5uqqWbd8KG8Gf26UI0g4S3Oqwb6vDkJb95+jRqNVWeyiDSaxsOqCry1xUs6PR2Qpqm4WPVYaiHOawH3NC3Gav9KcZ25QwIAaq0OMi8K5BQ=", "sign_type": "RSA", "user_id": "20180828153543", }' ``` -------------------------------- ### Create Instalment Bill via cURL Source: https://open.lianlianpay.com/apis/instalment-negative-card-bind.html Use this cURL command to initiate an instalment bill creation request. Ensure the JSON payload is correctly formatted and signed with RSA. ```bash curl https://payserverapi.lianlianpay.com/repay/v1/signcreatebill \ -H "Content-type:application/json;charset=utf-8" \ -d '{ "acct_name": "张三", "api_version": "1.0", "back_url": "http://open.lianlianpay.com/", "dt_order": "20181113133745", "flag_chnl": "2", "flag_pay_product": "8", "id_no": "123456789012345678", "no_order": "test_order_20181113133745", "notify_url": "http://example.com/notify", "oid_partner": "201609130000219023", "repayment_no": "test_order_20181113133745", "repayment_plan": "{\"repaymentPlan\":[{\"date\":\"2019-05-06\",\"amount\":\"100\"},{\"date\":\"2019-06-06\",\"amount\":\"200\"},{\"date\":\"2019-08-06\",\"amount\":\"300\"}, {\"date\":\"2019-09-06\",\"amount\":\"400\"}, {\"date\":\"2019-10-06\",\"amount\":\"300\"}, {\"date\":\"2019-11-06\",\"amount\":\"300\"}, {\"date\":\"2019-12-06\",\"amount\":\"300\"}, {\"date\":\"2020-01-06\",\"amount\":\"300\"}]}", "risk_item": "{\"delivery_addr_city\":\"330100\",\"delivery_addr_province\":\"330000\",\"delivery_cycle\":\"12h\",\"delivery_phone\":\"13012341234\",\"frms_ware_category\":\"1001\",\"goods_count\":\"1\",\"logistics_mode\":\"2\",\"user_info_bind_phone\":\"13012341234\",\"user_info_dt_register\":\"20181113133745\",\"user_info_full_name\":\"张三\",\"user_info_id_no\":\"123456789012345678\",\"user_info_id_type\":\"0\",\"user_info_identify_state\":\"1\",\"user_info_identify_type\":\"4\",\"user_info_mercht_userno\":\"test_126\"}", "sign": "gwBAY5zQwz2RhU1f7avvgRf722QGWMBshHMrLx0ijQ5wDDpH5WZN1frFXAkA/wXuwlW/8kwCLbMHXRHPej8geB9HuVlkl6moJfC7oxxpgXZHxJIRo+kgEOGWQa0/qvt+JIR8bLfvslQ4V5F6z8KDYqW+/bn+7uuWQUfNo2xtniY=", "sign_type": "RSA", "time_stamp": "20181113133745", "url_return": "http://example.com/return", "user_id": "test_126" }' ``` -------------------------------- ### Synchronous Notification Form Example Source: https://open.lianlianpay.com/vault/docs/receive-money/instalment/handle-sync-result-repayment-web.html The structure of the HTTP POST request sent to the merchant's url_return upon successful payment. ```html
``` -------------------------------- ### 导入 SDK 静态库与资源包检查清单 Source: https://open.lianlianpay.com/vault/docs/receive-money/ios/mobile-bank.html 在 Build Phases 中确认已导入必要的静态库和资源包文件。 ```text libLLEBankPaySDK.a libABCAppCaller.a (农行SDK) ICBCPaySDK.framework (工行SDK) CCBNetPaySDK.framework (建行SDK) ``` ```text walletResources.bundle ICBCPaySDK.bundle (工行资源包) CCBSDK.bundle (建行资源包) ``` -------------------------------- ### 配置 Info.plist 白名单 Source: https://open.lianlianpay.com/vault/docs/receive-money/ios/mobile-bank.html 将银行 App 的 Scheme 添加到 LSApplicationQueriesSchemes 白名单中,以支持调起银行 App。 ```xml LSApplicationQueriesSchemes mbspay bankabc com.icbc.iphoneclient cmbmobilebank bocpay ``` -------------------------------- ### presentLLPaySDKInViewController:withPayType:andTraderInfo: Source: https://open.lianlianpay.com/vault/docs/receive-money/ios/request-express.html 调用连连iOS SDK发起快捷收款支付。开发者需将组建好的支付请求报文存入NSDictionary,并设置支付类型为LLPayTypeQuick。 ```APIDOC ## [Method] presentLLPaySDKInViewController:withPayType:andTraderInfo: ### Description 发起快捷收款支付请求。该方法将组建好的支付报文传递给SDK,并启动支付界面。 ### Parameters - **viewController** (UIViewController) - 当前视图控制器 - **payType** (LLPayType) - 支付类型,快捷收款需设置为 LLPayTypeQuick - **traderInfo** (NSDictionary) - 包含签名后的支付请求参数字典 ### Request Example ```objectivec - (void)lianlianpay { [LLPaySdk sharedSdk].sdkDelegate = self; [[LLPaySdk sharedSdk] presentLLPaySDKInViewController:self withPayType:LLPayTypeQuick andTraderInfo:PAYMENT_REQUEST_INFO]; } ``` ``` -------------------------------- ### llEBankPayInViewController:andPaymentInfo: Source: https://open.lianlianpay.com/vault/docs/receive-money/ios/request-mobile-bank-payment.html 调用连连iOS SDK发起掌上银行支付请求的方法。 ```APIDOC ## [Method] llEBankPayInViewController:andPaymentInfo: ### Description 将组建好的待处理支付请求报文存放到字典 `NSDictionary`,通过 SDK 实例调起掌上银行支付界面。 ### Method Objective-C Method ### Parameters - **viewController** (UIViewController) - Required - 当前发起支付的视图控制器。 - **paymentInfo** (NSDictionary) - Required - 包含支付参数的字典,需包含 oid_partner, sign_type, sign, busi_partner, no_order, dt_order, name_goods, money_order, notify_url, risk_item, user_id 等字段。 ### Request Example ```objectivec - (void)lianlianpay { [LLEBankPaySDK sharedSDK].sdkDelegate = self; [[LLEBankPaySDK sharedSDK] llEBankPayInViewController:self andPaymentInfo:PAYMENT_REQUEST_INFO]; } ``` ``` -------------------------------- ### POST /repay/v1/signcreatebill Source: https://open.lianlianpay.com/apis/instalment-negative-card-bind.html Creates a new repayment bill for an instalment transaction. ```APIDOC ## POST /repay/v1/signcreatebill ### Description Creates a repayment bill for instalment services. This endpoint requires a signed request body containing order information, user details, and the repayment schedule. ### Method POST ### Endpoint https://payserverapi.lianlianpay.com/repay/v1/signcreatebill ### Request Body - **acct_name** (string) - Name of the account holder - **api_version** (string) - API version - **back_url** (string) - URL to redirect back to - **dt_order** (string) - Order date - **flag_chnl** (string) - Channel flag - **flag_pay_product** (string) - Payment product flag - **id_no** (string) - ID number - **no_order** (string) - Order number - **notify_url** (string) - Notification URL - **oid_partner** (string) - Partner ID - **repayment_no** (string) - Repayment number - **repayment_plan** (string) - JSON string containing the repayment schedule - **risk_item** (string) - JSON string containing risk assessment data - **sign** (string) - Request signature - **sign_type** (string) - Signature type (e.g., RSA) - **time_stamp** (string) - Timestamp - **url_return** (string) - Return URL - **user_id** (string) - User ID ### Request Example { "acct_name": "张三", "api_version": "1.0", "back_url": "http://open.lianlianpay.com/", "dt_order": "20181113133745", "flag_chnl": "2", "flag_pay_product": "8", "id_no": "123456789012345678", "no_order": "test_order_20181113133745", "notify_url": "http://example.com/notify", "oid_partner": "201609130000219023", "repayment_no": "test_order_20181113133745", "repayment_plan": "{\"repaymentPlan\":[{\"date\":\"2019-05-06\",\"amount\":\"100\"},{\"date\":\"2019-06-06\",\"amount\":\"200\"},{\"date\":\"2019-08-06\",\"amount\":\"300\"}, {\"date\":\"2019-09-06\",\"amount\":\"400\"}, {\"date\":\"2019-10-06\",\"amount\":\"300\"}, {\"date\":\"2019-11-06\",\"amount\":\"300\"}, {\"date\":\"2019-12-06\",\"amount\":\"300\"}, {\"date\":\"2020-01-06\",\"amount\":\"300\"}]}", "risk_item": "{\"delivery_addr_city\":\"330100\",\"delivery_addr_province\":\"330000\",\"delivery_cycle\":\"12h\",\"delivery_phone\":\"13012341234\",\"frms_ware_category\":\"1001\",\"goods_count\":\"1\",\"logistics_mode\":\"2\",\"user_info_bind_phone\":\"13012341234\",\"user_info_dt_register\":\"20181113133745\",\"user_info_full_name\":\"张三\",\"user_info_id_no\":\"123456789012345678\",\"user_info_id_type\":\"0\",\"user_info_identify_state\":\"1\",\"user_info_identify_type\":\"4\",\"user_info_mercht_userno\":\"test_126\"}", "sign": "gwBAY5zQwz2RhU1f7avvgRf722QGWMBshHMrLx0ijQ5wDDpH5WZN1frFXAkA/wXuwlW/8kwCLbMHXRHPej8geB9HuVlkl6moJfC7oxxpgXZHxJIRo+kgEOGWQa0/qvt+JIR8bLfvslQ4V5F6z8KDYqW+/bn+7uuWQUfNo2xtniY=", "sign_type": "RSA", "time_stamp": "20181113133745", "url_return": "http://example.com/return", "user_id": "test_126" } ``` -------------------------------- ### POST https://payserverapi.lianlianpay.com/repay/v1/signcreatebill Source: https://open.lianlianpay.com/apis/instalment-negative-card-bind.html Initiates the installment payment signing process. ```APIDOC ## POST https://payserverapi.lianlianpay.com/repay/v1/signcreatebill ### Description Initiates the installment payment signing process. After successful creation, use the returned gateway_url to complete the signing. ### Method POST ### Endpoint https://payserverapi.lianlianpay.com/repay/v1/signcreatebill ### Parameters #### Request Body - **api_version** (String) - Required - Current version, 1.0. - **sign** (String) - Required - Signature. - **sign_type** (String) - Required - RSA. - **time_stamp** (String) - Required - yyyyMMddHHmmss. - **platform** (String) - Optional - Platform source identifier. - **oid_partner** (String) - Required - Merchant ID. - **user_id** (String) - Required - Unique user ID in merchant system. - **no_order** (String) - Required - Unique order number. - **dt_order** (String) - Required - Order time, yyyyMMddHHmmss. - **notify_url** (String) - Required - Async notification URL. - **url_return** (String) - Optional - Return URL after success. - **back_url** (String) - Optional - Return URL during payment process. - **risk_item** (String) - Required - Risk control parameters (JSON string). - **flag_pay_product** (String) - Required - Payment product identifier (8 for installment). - **flag_chnl** (String) - Required - Channel identifier (0: Android, 1: iOS, 2: Web, 3: H5). - **id_type** (String) - Optional - ID type (default 0). - **id_no** (String) - Required - ID number. - **acct_name** (String) - Required - User name. - **card_no** (String) - Required - Bank card number. - **theme** (JSON String) - Optional - Theme color scheme. - **show_head** (String) - Optional - Whether to show page header (show/hide). ``` -------------------------------- ### POST /repay/v1/paycreatebill Source: https://open.lianlianpay.com/apis/instalment-positive-payment.html Creates a new instalment payment bill for a user. ```APIDOC ## POST /repay/v1/paycreatebill ### Description Creates a new instalment payment bill for a user. ### Method POST ### Endpoint https://payserverapi.lianlianpay.com/repay/v1/paycreatebill ### Request Body - **acct_name** (string) - Account name - **api_version** (string) - API version - **back_url** (string) - Return URL - **busi_partner** (string) - Business partner identifier - **dt_order** (string) - Order date - **flag_chnl** (string) - Channel flag - **flag_pay_product** (string) - Pay product flag - **id_no** (string) - ID number - **money_order** (string) - Order amount - **name_goods** (string) - Goods name - **no_order** (string) - Order number - **notify_url** (string) - Notification URL - **oid_partner** (string) - Partner ID - **repayment_no** (string) - Repayment number - **repayment_plan** (string) - JSON string of the repayment plan - **risk_item** (string) - JSON string of risk control items - **sign** (string) - Signature - **sign_type** (string) - Signature type - **time_stamp** (string) - Timestamp - **url_return** (string) - Return URL - **user_id** (string) - User ID ### Request Example { "acct_name": "张三", "api_version": "1.0", "back_url": "https://open.lianlianpay.com/", "busi_partner": "101001", "dt_order": "20181113105431", "flag_chnl": "2", "flag_pay_product": "8", "id_no": "123456789012345678", "money_order": "0.01", "name_goods": "Test order", "no_order": "test_order_20181113105431", "notify_url": "http://example.com/notify", "oid_partner": "201609130000219023", "repayment_no": "test_order_20181113105431", "repayment_plan": "{\"repaymentPlan\":[{\"date\":\"2019-05-06\",\"amount\":\"100\"},{\"date\":\"2019-06-06\",\"amount\":\"200\"},{\"date\":\"2019-08-06\",\"amount\":\"300\"}, {\"date\":\"2019-09-06\",\"amount\":\"400\"}, {\"date\":\"2019-10-06\",\"amount\":\"300\"}, {\"date\":\"2019-11-06\",\"amount\":\"300\"}, {\"date\":\"2019-12-06\",\"amount\":\"300\"}, {\"date\":\"2020-01-06\",\"amount\":\"300\"}]}", "risk_item": "{\"delivery_addr_city\":\"330100\",\"delivery_addr_province\":\"330000\",\"delivery_cycle\":\"12h\",\"delivery_phone\":\"17601651300\",\"frms_ware_category\":\"1001\",\"goods_count\":\"1\",\"logistics_mode\":\"2\",\"user_info_bind_phone\":\"13012341234\",\"user_info_dt_register\":\"20181113105431\",\"user_info_full_name\":\"张三\",\"user_info_id_no\":\"123456789012345678\",\"user_info_id_type\":\"0\",\"user_info_identify_state\":\"1\",\"user_info_identify_type\":\"4\",\"user_info_mercht_userno\":\"test_126\"}", "sign": "NgTqo5AY6A2XXdyvxkkbyIWjNZ3qhALY1TfvcJXs2U2XhP24TyHfBungeCHAV2xivqrCHS1I9S9XASUuwTXlUxr0/MJP9ZB8snHRsAbZCIuYu4JLhoP1D82OAFll4tJNPyX8Z+O3Q3RFv1/aqKm8QbkLv/K8iH/GWNdSH0+LPkU=", "sign_type": "RSA", "time_stamp": "20181113105431", "url_return": "http://example.com/return", "user_id": "test_126" } ``` -------------------------------- ### Error Response with Signature Source: https://open.lianlianpay.com/apis/instant-apply.html Example of an error response containing a signature field. ```json { "oid_partner":"201606221000921503", "ret_code":"4005", "ret_msg":"商户未开通权限", "sign":"AtkijrjIozoGkA7u7m19mAoWyddXZnTs28t/NSrM80hBD2W6g+uJYTso8yMgA+XApj61YZ93q2NlQ8dyoiLMbwOrsqbx5cODCiFDv8t57c7CMZbzjiFXWqwXY3+Y11AHQtNK0EKAELn8pV58hJURg2JgbjtFPwQ+PT5MOCLzXbE=", "sign_type":"RSA" } ``` -------------------------------- ### Error Response without Signature Source: https://open.lianlianpay.com/apis/instant-apply.html Example of an error response where the signature field is omitted. ```json { "ret_code":"1004", "ret_msg":"商户请求参数校验错误:商户请求参数[sign]非法" } ``` -------------------------------- ### presentLLPaySDKInViewController:withPayType:andTraderInfo: Source: https://open.lianlianpay.com/vault/docs/receive-money/ios/request-authenticate.html 调用连连iOS SDK发起认证收款请求。开发者需将组建好的支付请求报文存入NSDictionary,并指定支付类型(LLPayTypeVerify或LLPayTypeNewVerify)。 ```APIDOC ## [Method] presentLLPaySDKInViewController:withPayType:andTraderInfo: ### Description 发起认证收款请求。该方法将支付请求报文传递给SDK,并启动支付流程。 ### Parameters - **viewController** (UIViewController) - 当前视图控制器 - **payType** (LLPayType) - 支付类型,可选 LLPayTypeVerify (普通认证收款) 或 LLPayTypeNewVerify (新认证收款) - **traderInfo** (NSDictionary) - 包含签名后的支付请求参数的字典 ### Request Example ```objectivec - (void)lianlianpay { [LLPaySdk sharedSdk].sdkDelegate = self; [[LLPaySdk sharedSdk] presentLLPaySDKInViewController:self withPayType:LLPayTypeVerify andTraderInfo:PAYMENT_REQUEST_INFO]; } ``` ``` -------------------------------- ### 发起新认证收款请求 Source: https://open.lianlianpay.com/vault/docs/receive-money/ios/request-authenticate.html 通过设置PayType为LLPayTypeNewVerify并传入请求报文来调用SDK。 ```objective-c - (void)lianlianpay { [LLPaySdk sharedSdk].sdkDelegate = self; [[LLPaySdk sharedSdk] presentLLPaySDKInViewController:self withPayType:LLPayTypeNewVerify andTraderInfo:PAYMENT_REQUEST_INFO]; } ``` -------------------------------- ### Example Signed Payment Request Payload Source: https://open.lianlianpay.com/docs/send-money/instant/api-encrypt.html A sample JSON object representing a pre-signed payment request ready for encryption. ```json { "acct_name": "张三", "api_version": "1.0", "card_no": "6216261000000000000", "dt_order": "20170317165929", "flag_card": "0", "info_order": "test测试10.00?", "memo": "代付", "money_order": "0.02", "no_order": "20170413165934", "notify_url": "http://10.20.41.35:8080/tradepayapi/receiveNotify.htm", "oid_partner": "201609130000219023", "sign": "DNNUJoaAtOwu8Hy+98x+RTLbakxQPTvyCuHINCmdg7FcR6ppzfjoxjtMTJFjoroC2PPr80Y9T7ciCvyTX6tVo7/KClt6c9qtXL5xgOdWQnKqrgWkUZ+cqV4N3vZuqFKhUGsJ8h2qw7jwlTV6XnI0qa8kAppKnwJjE+/r8hZZw80=", "sign_type": "RSA" } ``` -------------------------------- ### Encrypted Payload Request Example Source: https://open.lianlianpay.com/apis/signingPayment-application.html Request format using an encrypted pay_load parameter, which is required for secure API communication. ```curl curl https://mpayapi.lianlianpay.com/v1/bankcardprepay \ -H "Content-type:application/json;charset=utf-8" \ -d '{ "oid_partner": "201304121000001004", "pay_load": "lianpay1_0_1$IjRo9QTNupI7FEKMQq0Cz+11KlnvAyoyrTQi8C03nqLlBGl2dj3Kbd9SoV+nTuNs8iTsvwNVnNt8 LVv3iCZjBJYeo3oLsLb2JxWHpHltUgWBc/YQsVkmRmRcrIDzycxvZ8OIQxwVVk34ad7anOC0RD7C ap6BlcZPTs1RDe6fEaw=$KytJ6nSrXn7OS8EDQLENbgj2lVuiLD/VWD6hp0Cp5vieHK29tRHOCkW6ph+fq3yHU98knbaQiAtU ipM/tPGWpyuCyWOBP6aayoJDU0RKdJMgqK0MQYQbZPxg7XCQT7Z6YatTiT4ZFCAQd3LfdSm9OX+w Fb0jCS7QsJYiznF86Jk=$QkFOWFlUMUE=$SCjQXBPxHCk6/mQMD1/RnZUfwKukGcgtm+LmJyK6/627+TPCeZ1iG1maCWluSq7C1FsV5DEhknTH 9I5y6U3xyOajSRq5HS42znCo4oDTT8JrLxgBAAy97CdE8Aax9z7iEmDqwhDRQOwUTb7lObmqoD+K OEC/fAzZGP6dz4iqkbepLB9atXkFYi7+bAX/ZNVgUeBkL7mXHSpQTl1Yrh21qkKBT2OTVu8weUO2 4xjvV+utC4OgSqdFeWahi5ODS5IWTAuSb+kHcvbvX4UZjDQ8w2s7EwgnlpOzOggFeyUPawMjjx45 PzT+TbS6/glIjtLISnUuOCrwu0i640vlLIvBCyPbbni+5vNF9kD7uhJEDEXkO9tDo3vF8HHzB4lQ 8gXN5sehoGXvd2Rk9ZhUCVk70YCkXd4lA0Jf9imQLxc/tshoyTI4Cb9pcMLvfbt4vZd5tbARJqLF 92MagCxKbLKPl7v+esiCIgS6/TqKcVzCdcaQKRUonjowrOqn+d+7xumHURtX9yYOAawq066gUCOb o6PHrT8KxrAoQ2STxEod4c6HjGXseMs9HqzLadJlzgKFCTiXk8O8FrlcaaMehiiZO8+XILCihcI6 zhTgrE77hstkb5CFfBUwHkdNH24WveERZlluoHUncWwuYof1d28HMjb9dQyFrJR0LIIQYE0V5eOP hoJXpnPEx8otm+0iqo0cy9Vx257jqb7ezvYMCxkQlbtFuy7Wpko9JsfDcYnwFKElgm1pSnGD9Ga/ SFPT62tA2ndFRfSy32PS/TcPnZYEvM4TwBVTD2srnNG4NxLmS7fnqU0y06q4XSb0lFQh0XSfFZR4 i6bFsHw6ZWcrlBIgOM1/Lmj5SoKBM9K8R9IcYB/eXZSVhPRReCk/9g7H0Id7EEFqPmRfuA/XqsH4 owg1KkxN3kQ/XzF1JSeLoGjIyUESLn+C2Sv4+at+7aCX$XmrO6P26GhZqmR9gE75isXSkmq1dgvW40MAIlwVm8e0=" }' ``` -------------------------------- ### 调用连连iOS SDK发起快捷收款 Source: https://open.lianlianpay.com/vault/docs/receive-money/ios/request-express.html 将组装好的请求报文传入SDK进行支付调用,需确保已设置sdkDelegate。 ```objective-c - (void)lianlianpay { [LLPaySdk sharedSdk].sdkDelegate = self; [[LLPaySdk sharedSdk] presentLLPaySDKInViewController:self withPayType:LLPayTypeQuick andTraderInfo:PAYMENT_REQUEST_INFO]; } ``` -------------------------------- ### C# 报文加密处理 Source: https://open.lianlianpay.com/docs/faq/instantpay.html 处理C#生成的pay_load字符串,替换换行符并转换为ISO-8859-1编码字节数组。 ```csharp var pay = ($"{{\"pay_load\":\"{json}\",\"oid_partner\":\"{PartnerConfig.OID_PARTNER}\"}}").Replace("\r\n", "\\r\\n"); byte[] bytes = Encoding.GetEncoding("ISO-8859-1").GetBytes(pay); ``` -------------------------------- ### Bank Card Prepay Request JSON Source: https://open.lianlianpay.com/apis/bankcardprepay-no-secret.html Example JSON payload for initiating a bank card prepay no secret transaction. ```json { "oid_partner":"209991888344400000", "risk_item":"{\"goods_name\":\"订单编号:2207071708xxxxxxxxx0z78\",\"frms_client_chnl\":\"16\",\"user_info_mercht_userno\":\"551xxxxx\",\"user_auth_flag\":\"0\",\"frms_ip_addr\":\"xxx.xxx.xxx.xxx\",\"frms_ware_category\":\"4016\",\"user_info_dt_register\":\"20201029xxxxxx\"}", "sign":"bFopcv3ZH90Pt1dDf5LdGiFMaS3JJrWgJ9BD5u9bQfrPDc6BWGxjJ8PQq0E/u5jM629Dc/KGoSSEkPdWRREopYKY5hjKkNKfbsBLYCNQvFdnn82UuOnqzZWDITSYsh7bmu8khvLNCZw2FsaXtIKlF5nU2rPnau5mn/PmhRXjOrI=", "dt_order":"20220707170842", "name_goods":"订单编号:2207071708410951xxxxxxxx", "notify_url":"https://llaccpnotify-fy.xxxxxxxx/xxxxxx/xxxxxx/xxxxxx", "busi_partner":"101001", "no_order":"2022070736363636", "user_id":"202*********4384", "money_order":"45.00", "pay_type":"W", "ext_param":"{\"openid\":\"ogRSL55kDNAof4xxxxxxxxxxxx\",\"appid\":\"wx747dxxxxxx580f56\"}", "sign_type":"RSA", "valid_order":"4320" } ``` -------------------------------- ### 发起普通认证收款请求 Source: https://open.lianlianpay.com/vault/docs/receive-money/ios/request-authenticate.html 通过设置PayType为LLPayTypeVerify并传入请求报文来调用SDK。 ```objective-c - (void)lianlianpay { [LLPaySdk sharedSdk].sdkDelegate = self; [[LLPaySdk sharedSdk] presentLLPaySDKInViewController:self withPayType:LLPayTypeVerify andTraderInfo:PAYMENT_REQUEST_INFO]; } ``` -------------------------------- ### 发起签约创单请求 Source: https://open.lianlianpay.com/apis/unified-card-bind.html 使用curl命令向统一签约创单接口发送POST请求,包含必要的签名和业务参数。 ```bash curl https://payserverapi.lianlianpay.com/v1/signcreatebill \ -H "Content-type:application/json;charset=utf-8" \ -d '{ "api_version": "1.0", "sign_type": "RSA", "sign": "H8DfnPY+OlfIszH0Fzz/R5lUSNjUcYzwJy8nRr7tTTOq/A0k1COK5LgYK5+GTaDR4ij7FX/COOHqnBJ1+XWfnRuJNnXcLWl4L/T47569Q0aY7IebVFvAYROrdUFn215sM6m55hDpPfLL26n+HRM4Zzbbc6YJlhJsYNfv1ePq9F0=", "time_stamp": "20170824102755", "platform": "201707041000000000", "oid_partner": "201707041000000000", "user_id": "userid000001", "no_order": "4d80a9b351f8b167a661c84dc013e927", "dt_order": "20170824102755", "risk_item": "{\"user_info_bind_phone\":\"13958069593\",\"user_info_dt_register\":\"20131030122130\",\"frms_ware_category \":\"1009\"}", "flag_pay_product": "1", "flag_chnl": "2", "id_type": "0", "id_no": "11111111111111111111", "acct_name": "张三", "card_no": "6222222222222222" }' ```