You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Midtrans :heart: Java, This is the Official Java API client/library for Midtrans Payment API. Visit [https://midtrans.com](https://midtrans.com). More information about the product and see documentation at [http://docs.midtrans.com](https://beta-docs.midtrans.com/) for more technical details. This library used java version 1.8
8
7
9
8
## 1. Installation
10
9
11
10
### 1.a Using Maven or Gradle
12
-
If you're using Maven as the build tools for your project, please add jcenter repository to your build definition, then add the following dependency to your project's build definition (pom.xml):
11
+
If you're using Maven as the build tools for your project, please add the following dependency to your project's build definition (pom.xml):
13
12
Maven:
14
13
```xml
15
-
<repositories>
16
-
<repository>
17
-
<id>jcenter</id>
18
-
<name>bintray</name>
19
-
<url>https://jcenter.bintray.com</url>
20
-
</repository>
21
-
</repositories>
22
-
23
-
<dependencies>
24
-
<dependency>
25
-
<groupId>com.midtrans</groupId>
26
-
<artifactId>java-library</artifactId>
27
-
<version>2.1.1</version>
14
+
<dependency>
15
+
<groupId>com.midtrans</groupId>
16
+
<artifactId>java-library</artifactId>
17
+
<version>3.0.0</version>
28
18
</dependency>
29
-
</dependencies>
30
19
```
31
20
Gradle:
32
21
If you're using Gradle as the build tools for your project, please add jcenter repository to your build script then add the following dependency to your project's build definition (build.gradle):
33
22
```Gradle
34
-
repositories {
35
-
maven {
36
-
url "https://jcenter.bintray.com"
37
-
}
38
-
}
39
-
40
23
dependencies {
41
-
compile 'com.midtrans:java-library:2.1.1'
24
+
implementation 'com.midtrans:java-library:3.0.0'
42
25
}
43
26
```
27
+
> **IMPORTANT NOTE**: Since April 13, 2021 We already migrate the repository from jcenter/bintray repository to [Maven central](https://search.maven.org/artifact/com.midtrans/java-library).
44
28
45
29
### 1.b Using JAR File
46
30
47
-
If you are not using project build management like Maven, Gradle or Ant you can use manual jar library download JAR Library on [here](https://dl.bintray.com/midtrans/midtrans-java/com/midtrans/java-library/2.1.1/java-library-2.1.1.jar)
31
+
If you are not using project build management like Maven, Gradle or Ant you can use manual jar library download JAR Library on [here](http://bit.ly/mid-java)
48
32
49
33
## 2. Usage
50
34
@@ -62,8 +46,52 @@ Choose one that you think best for your unique needs.
62
46
63
47
Get your client key and server key from [Midtrans Dashboard](https://dashboard.midtrans.com)
64
48
65
-
Create API client object
49
+
Create API client object, You can also check the [project's functional tests](library/src/test/java/com/midtrans/java) for more examples.
You can also re-set config using `apiConfig()` method on MidtransCoreApi.Class, MidtransSnapApi.Class or MidtransIrisApi.class like `coreApi.apiConfig.set( ... )`
134
+
You can also re-set config using `apiConfig()` method on MidtransCoreApi.Class, MidtransSnapApi.Class or MidtransIrisApi.class like `coreApi.apiConfig().set( ... )`
@@ -128,6 +155,10 @@ In production environment, LOG is by default turned off, you can enable by `setE
128
155
129
156
```java
130
157
coreApi.apiConfig().setEnabledLog(true);
158
+
159
+
//or using
160
+
161
+
config.setEnabledLog(true);
131
162
```
132
163
133
164
Using internal proxy, you can set ProxyConfig object with ProxyConfigBuilder to set hostname, port, username, and password. and also connectionTimeout, readTimeout, and writeTimeout. But if you not define network configuration like
@@ -136,13 +167,20 @@ ProxyConfig, connectionTimeout, readTimeout and writeTimeout, default value is 1
add new 4 params to use http proxy and network config,
148
186
- connectionTimeout - default value 10s
@@ -152,16 +190,31 @@ add new 4 params to use http proxy and network config,
152
190
- maxConnectionPool - default value 16
153
191
- keepAliveDuration - default value 300s
154
192
155
-
and also you can set value for connectionTimeout or etc with configuration class,
193
+
and also you can set value for connectionTimeout or etc with configuration class, default value for TimeUnit is SECONDS, you can change the TimeUnit with config class.
When both `X-Append-Notification` and `X-Override-Notification` are used together then only override will be used.
186
239
240
+
### Handling Error / Exception
241
+
When using function that result in Midtrans API call e.g: CoreApi.chargeTransaction(...) or SnapApi.createTransaction(...) there's a chance it may throw error (MidtransError object), the error object will contains below properties that can be used as information to your error handling logic:
242
+
```java
243
+
try {
244
+
JSONObject result =CoreApi.chargeTransaction(param);
245
+
} catch (MidtransError e) {
246
+
e.printStackTrace();
247
+
e.getStatusCode(); // basic error message string
248
+
e.getMessage(); // HTTP status code e.g: 400, 401, etc.
<li><ahref="com/midtrans/Config.html" title="class in com.midtrans" target="classFrame">Config</a></li>
17
17
<li><ahref="com/midtrans/ConfigBuilder.html" title="class in com.midtrans" target="classFrame">ConfigBuilder</a></li>
18
18
<li><ahref="com/midtrans/ConfigFactory.html" title="class in com.midtrans" target="classFrame">ConfigFactory</a></li>
19
-
<li><ahref="com/midtrans/httpclient/CoreApi.html" title="interface in com.midtrans.httpclient" target="classFrame"><spanclass="interfaceName">CoreApi</span></a></li>
20
-
<li><ahref="com/midtrans/httpclient/error/ErrorUtils.html" title="class in com.midtrans.httpclient.error" target="classFrame">ErrorUtils</a></li>
21
-
<li><ahref="com/midtrans/httpclient/IrisApi.html" title="interface in com.midtrans.httpclient" target="classFrame"><spanclass="interfaceName">IrisApi</span></a></li>
19
+
<li><ahref="com/midtrans/httpclient/CoreApi.html" title="class in com.midtrans.httpclient" target="classFrame">CoreApi</a></li>
20
+
<li><ahref="com/midtrans/httpclient/IrisApi.html" title="class in com.midtrans.httpclient" target="classFrame">IrisApi</a></li>
21
+
<li><ahref="com/midtrans/Midtrans.html" title="class in com.midtrans" target="classFrame">Midtrans</a></li>
22
22
<li><ahref="com/midtrans/service/MidtransCoreApi.html" title="interface in com.midtrans.service" target="classFrame"><spanclass="interfaceName">MidtransCoreApi</span></a></li>
23
23
<li><ahref="com/midtrans/service/impl/MidtransCoreApiImpl.html" title="class in com.midtrans.service.impl" target="classFrame">MidtransCoreApiImpl</a></li>
24
24
<li><ahref="com/midtrans/httpclient/error/MidtransError.html" title="class in com.midtrans.httpclient.error" target="classFrame">MidtransError</a></li>
25
-
<li><ahref="com/midtrans/httpclient/error/MidtransError.Builder.html" title="class in com.midtrans.httpclient.error" target="classFrame">MidtransError.Builder</a></li>
26
25
<li><ahref="com/midtrans/service/MidtransIrisApi.html" title="interface in com.midtrans.service" target="classFrame"><spanclass="interfaceName">MidtransIrisApi</span></a></li>
27
26
<li><ahref="com/midtrans/service/impl/MidtransIrisApiImpl.html" title="class in com.midtrans.service.impl" target="classFrame">MidtransIrisApiImpl</a></li>
28
27
<li><ahref="com/midtrans/service/MidtransSnapApi.html" title="interface in com.midtrans.service" target="classFrame"><spanclass="interfaceName">MidtransSnapApi</span></a></li>
29
28
<li><ahref="com/midtrans/service/impl/MidtransSnapApiImpl.html" title="class in com.midtrans.service.impl" target="classFrame">MidtransSnapApiImpl</a></li>
30
29
<li><ahref="com/midtrans/proxy/ProxyConfig.html" title="class in com.midtrans.proxy" target="classFrame">ProxyConfig</a></li>
31
30
<li><ahref="com/midtrans/proxy/ProxyConfigBuilder.html" title="class in com.midtrans.proxy" target="classFrame">ProxyConfigBuilder</a></li>
32
-
<li><ahref="com/midtrans/httpclient/SnapApi.html" title="interface in com.midtrans.httpclient" target="classFrame"><spanclass="interfaceName">SnapApi</span></a></li>
31
+
<li><ahref="com/midtrans/httpclient/SnapApi.html" title="class in com.midtrans.httpclient" target="classFrame">SnapApi</a></li>
32
+
<li><ahref="com/midtrans/httpclient/TransactionApi.html" title="class in com.midtrans.httpclient" target="classFrame">TransactionApi</a></li>
33
+
<li><ahref="com/midtrans/utils/Utility.html" title="class in com.midtrans.utils" target="classFrame">Utility</a></li>
<li><ahref="com/midtrans/Config.html" title="class in com.midtrans">Config</a></li>
17
17
<li><ahref="com/midtrans/ConfigBuilder.html" title="class in com.midtrans">ConfigBuilder</a></li>
18
18
<li><ahref="com/midtrans/ConfigFactory.html" title="class in com.midtrans">ConfigFactory</a></li>
19
-
<li><ahref="com/midtrans/httpclient/CoreApi.html" title="interface in com.midtrans.httpclient"><spanclass="interfaceName">CoreApi</span></a></li>
20
-
<li><ahref="com/midtrans/httpclient/error/ErrorUtils.html" title="class in com.midtrans.httpclient.error">ErrorUtils</a></li>
21
-
<li><ahref="com/midtrans/httpclient/IrisApi.html" title="interface in com.midtrans.httpclient"><spanclass="interfaceName">IrisApi</span></a></li>
19
+
<li><ahref="com/midtrans/httpclient/CoreApi.html" title="class in com.midtrans.httpclient">CoreApi</a></li>
20
+
<li><ahref="com/midtrans/httpclient/IrisApi.html" title="class in com.midtrans.httpclient">IrisApi</a></li>
21
+
<li><ahref="com/midtrans/Midtrans.html" title="class in com.midtrans">Midtrans</a></li>
22
22
<li><ahref="com/midtrans/service/MidtransCoreApi.html" title="interface in com.midtrans.service"><spanclass="interfaceName">MidtransCoreApi</span></a></li>
23
23
<li><ahref="com/midtrans/service/impl/MidtransCoreApiImpl.html" title="class in com.midtrans.service.impl">MidtransCoreApiImpl</a></li>
24
24
<li><ahref="com/midtrans/httpclient/error/MidtransError.html" title="class in com.midtrans.httpclient.error">MidtransError</a></li>
25
-
<li><ahref="com/midtrans/httpclient/error/MidtransError.Builder.html" title="class in com.midtrans.httpclient.error">MidtransError.Builder</a></li>
26
25
<li><ahref="com/midtrans/service/MidtransIrisApi.html" title="interface in com.midtrans.service"><spanclass="interfaceName">MidtransIrisApi</span></a></li>
27
26
<li><ahref="com/midtrans/service/impl/MidtransIrisApiImpl.html" title="class in com.midtrans.service.impl">MidtransIrisApiImpl</a></li>
28
27
<li><ahref="com/midtrans/service/MidtransSnapApi.html" title="interface in com.midtrans.service"><spanclass="interfaceName">MidtransSnapApi</span></a></li>
29
28
<li><ahref="com/midtrans/service/impl/MidtransSnapApiImpl.html" title="class in com.midtrans.service.impl">MidtransSnapApiImpl</a></li>
30
29
<li><ahref="com/midtrans/proxy/ProxyConfig.html" title="class in com.midtrans.proxy">ProxyConfig</a></li>
31
30
<li><ahref="com/midtrans/proxy/ProxyConfigBuilder.html" title="class in com.midtrans.proxy">ProxyConfigBuilder</a></li>
32
-
<li><ahref="com/midtrans/httpclient/SnapApi.html" title="interface in com.midtrans.httpclient"><spanclass="interfaceName">SnapApi</span></a></li>
31
+
<li><ahref="com/midtrans/httpclient/SnapApi.html" title="class in com.midtrans.httpclient">SnapApi</a></li>
32
+
<li><ahref="com/midtrans/httpclient/TransactionApi.html" title="class in com.midtrans.httpclient">TransactionApi</a></li>
33
+
<li><ahref="com/midtrans/utils/Utility.html" title="class in com.midtrans.utils">Utility</a></li>
0 commit comments