Nhảy tới nội dung

Ví dụ mẫu

Java

Thư viện người dùng tích hợp KLBPay vào hệ thống thanh toán của Merchant

Java SDK client


Github: https://github.com/unicloudvn/KLBPay-Java-SDK.git

Cài đặt và sử dụng

Requirements

Spring Boot Java 2.7.4+

JDK 11+

Gradle 7.2+

Cách sử dụng:

KLBPay-Java-SDK

Thư viện người dùng tích hợp KLBPay vào hệ thống thanh toán của Merchant

Java

Github: https://github.com/unicloudvn/KLBPay-Java-SDK.git

Cài đặt và sử dụng

Requirements

Spring Boot Java 2.7.4+

JDK 11+

Gradle 7.2+

Cách sử dụng:

Cài đặt import:

Bước 1. Thêm phần này ở file build.gradle

repositories {
mavenCentral()
maven {
name = "GitHubPackages"
url = uri("https://maven.pkg.github.com/unicloudvn/KLBPay-Java-SDK")
credentials {
username = project.findProperty("user") ?: System.getenv("USERNAME")
password = project.findProperty("token") ?: System.getenv("TOKEN")
}
}
}

Bước 2. Tạo file gradle.properties có nội dung như sau

user=hoangkhanhson2000 
token=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

Bước 3. Thêm dependencies và load lại gradle

dependencies {
implementation'vn.unicloud:payment-sdk:1.0.3'
}

Như vậy bạn đã có thể sử dụng thư viện SDK rồi

Cài đặt thủ công:

Bước 1. Tải thư mục src của sdk vào dự án dưới dạng module

java-vidu-module/img1.png

Bước 2. Cấu hình module payment-sdk trong file build.gradle

    plugins{
id'org.springframework.boot'version"${springBootVersion}"
id'io.spring.dependency-management'version"${dependencyManagementVersion}"
id'java'
}

group='vn.unicloud'
version='0.0.1-SNAPSHOT'
sourceCompatibility='11'

repositories{
mavenCentral()
}

dependencies{
implementation'org.springframework.boot:spring-boot-starter-web'
implementation'org.springframework.boot:spring-boot-starter'
compileOnly'org.projectlombok:lombok'
annotationProcessor'org.projectlombok:lombok'
mplementation'commons-codec:commons-codec:1.15'
implementation'com.google.code.gson:gson:2.10'
}
bootJar{
enabled=false
}

Bước 3: Cấu hình trong module của bạn trong build.gradle

    plugins{
id'org.springframework.boot'version"${springBootVersion}"
id'io.spring.dependency-management'version"${dependencyManagementVersion}"
id'java'
}
group='your-group'
version='your-version'

repositories{
mavenCentral()
}
bootJar{
enabled=false
}
dependencies{
//implement module
implementation project(':payment-sdk')
}

Bước 4: trong thư mục root của bạn ta cấu hình file setting.gradle

    rootProject.name='firstdemo'
include'payment-sdk'
include'your-module'

và thư mục build.gradle

subprojects{
ext{
springBootVersion='2.7.4'
dependencyManagementVersion='1.1.0'
}
}

Như vậy bạn đã có thể sử dụng thư viện SDK một cách thủ công rồi

Constants

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

@Data
@Configuration
@ConfigurationProperties(prefix = "klb.payment", ignoreUnknownFields = false)
public class PaymentConfigurationProperties {

@JsonProperty("host")
private String host = "https://example.com";

@JsonProperty("client-id")
private String clientId = '<YOUR_CLIENT_ID>';

@JsonProperty("secret-key")
private String secretKey = '<YOUR_SECRET_KEY>';

@JsonProperty("encrypt-key")
private String encryptKey = '<YOUR_ENCRYPT_KEY>';

@JsonProperty("accept-time-diff")
private long acceptTimeDiff = '<YOUR_ACCEPT_TIME_DIFF>';
}

Ví dụ cơ bản

Bạn có thể xem demo ở đây: https://github.com/unicloudvn/KLBPay-Java-SDK/tree/demo

Tạo giao dịch:

CreateTransactionResponse response = kPayClient.createTransaction(request);

Tạo MainClass như sau

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.client.RestTemplate;
import vn.unicloud.sdk.payment.KPayClient;
import vn.unicloud.sdk.payment.client.ThirdPartyClient;
import vn.unicloud.sdk.payment.config.PaymentConfigurationProperties;
import vn.unicloud.sdk.payment.transaction.model.CustomerInfo;
import vn.unicloud.sdk.payment.transaction.request.CreateTransactionRequest;
import vn.unicloud.sdk.payment.transaction.response.CreateTransactionResponse;

@SpringBootApplication
public class DemoApplication {

public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);

CreateTransactionRequest request = new CreateTransactionRequest();
//Nhập dữ liệu input
request.setRefTransactionId("12444353");
request.setAmount(10000L);
request.setDescription("tra tien");
request.setTimeout(10000L);
request.setTitle("Tra Tien");
request.setLanguage("VI");
CustomerInfo customerInfo = new CustomerInfo("Nguyen Van Xo", "XoNV@gmail.com", "0976066016", "Binh Thanh");
request.setCustomerInfo(customerInfo);
request.setSuccessUrl("https://success.example.com.vn");
request.setFailUrl("https://fail.example.com.vn");
request.setRedirectAfter(5);
request.setBankAccountId("");

PaymentConfigurationProperties config = new PaymentConfigurationProperties();

//Cấu Hình Credential
config.setHost("https://example.com");
config.setClientId("<YOUR_CLIENT_ID>");
config.setSecretKey("<YOUR_SECRET_KEY>");
config.setEncryptKey("<YOUR_ENCRYPT_KEY>");
config.setAcceptTimeDiff("<YOUR_ACCEPT_TIME_DIFF>");

RestTemplate restTemplate = new RestTemplate();
ThirdPartyClient client = new ThirdPartyClient(restTemplate);
KPayClient kPayClient = new KPayClient(config, client);
//Khởi tạo Thanh Toán

CreateTransactionResponse response = kPayClient.createTransaction(request);

//In ra URL thanh toán
System.out.println(response.getUrl());
}

}

Chạy thử dự án URL thanh toán trả về Console java-vidu-console.png Copy URL vào trình duyệt Bấm vào để mở thanh toán java-vidu-pay.png

Kiểm tra giao dịch (tương tự):

QueryTransactionResponse response = kPayClient.checkTransaction(request);

Hủy giao dịch (tương tự):

CancelTransactionResponse response = kPayClient.cancelTransaction(request);

Author

dev@unicloud.com.vn

Ngân hàng TMCP Kiên Long (KienlongBank)

Hợp tác phát triển bởi Unicloud

Hội sở: 40-42-44 Phạm Hồng Thái, P.Vĩnh Thanh Vân, Tp.Rạch Giá, T.Kiên Giang

Điện thoại: (0297) 3869 950 hoặc (028) 3933 3393

Hotline gọi trong lãnh thổ Việt Nam: 1900 6929

Mã SWIFT: KLBKVNVX

Hotline gọi từ nước ngoài về Việt Nam: (+84) 287309 6929

Email:  kienlong@kienlongbank.com hoặc chamsockhachhang@kienlongbank.com

© 2022 Copyright KienlongBank. All right reserved