Skip to content

Commit bf0bc55

Browse files
Release 0.0.321
1 parent 50ce359 commit bf0bc55

25 files changed

Lines changed: 2870 additions & 78 deletions

.fern/metadata.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@
77
"package-prefix": "io.github.payabli.api",
88
"enable-wire-tests": false
99
},
10-
"originGitCommit": "6415b5451c2da0d2c1cef85dc4081265a866360c",
11-
"sdkVersion": "0.0.320"
10+
"originGitCommit": "0e827e26830578592f2b9d144d73fc76ecc31b49",
11+
"sdkVersion": "0.0.321"
1212
}

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,7 @@ Add the dependency in your `pom.xml` file:
315315
<dependency>
316316
<groupId>io.github.payabli</groupId>
317317
<artifactId>sdk-java</artifactId>
318-
<version>0.0.320</version>
318+
<version>0.0.321</version>
319319
</dependency>
320320
```
321321

build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ java {
4747

4848
group = 'io.github.payabli'
4949

50-
version = '0.0.320'
50+
version = '0.0.321'
5151

5252
jar {
5353
dependsOn(":generatePomFileForMavenPublication")
@@ -78,7 +78,7 @@ publishing {
7878
maven(MavenPublication) {
7979
groupId = 'io.github.payabli'
8080
artifactId = 'sdk-java'
81-
version = '0.0.320'
81+
version = '0.0.321'
8282
from components.java
8383
pom {
8484
name = 'Payabli Docs Team'

reference.md

Lines changed: 87 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11548,7 +11548,7 @@ client.moneyIn().voidv2("10-3ffa27df-b171-44e0-b251-e95fbfc7a723");
1154811548
<dl>
1154911549
<dd>
1155011550

11551-
Authorizes transaction for payout. Authorized transactions aren't flagged for settlement until captured. Use `referenceId` returned in the response to capture the transaction.
11551+
Authorizes transaction for payout. If you don't pass the `autoCapture` field with a value of `true`, authorized transactions aren't flagged for settlement until captured. Use `referenceId` returned in the response to capture the transaction.
1155211552
</dd>
1155311553
</dl>
1155411554
</dd>
@@ -11598,6 +11598,7 @@ client.moneyOut().authorizeOut(
1159811598
.build()
1159911599
)
1160011600
)
11601+
.autoCapture(true)
1160111602
.build()
1160211603
)
1160311604
.build()
@@ -11905,7 +11906,7 @@ client.moneyOut().captureAllOut(
1190511906
<dl>
1190611907
<dd>
1190711908

11908-
Captures a single authorized payout transaction by ID.
11909+
Captures a single authorized payout transaction by ID. If the transaction was authorized with `autoCapture` set to `true`, you don't need to call this endpoint to capture the transaction for processing.
1190911910
</dd>
1191011911
</dl>
1191111912
</dd>
@@ -24897,7 +24898,7 @@ client.vendor().editVendor(
2489724898
<dl>
2489824899
<dd>
2489924900

24900-
Retrieves a vendor's details.
24901+
Retrieves a vendor's details, including enrichment status and payment acceptance info when available.
2490124902
</dd>
2490224903
</dl>
2490324904
</dd>
@@ -24935,6 +24936,89 @@ client.vendor().getVendor(1);
2493524936
</dl>
2493624937

2493724938

24939+
</dd>
24940+
</dl>
24941+
</details>
24942+
24943+
<details><summary><code>client.vendor.enrichVendor(entry, request) -> VendorEnrichResponse</code></summary>
24944+
<dl>
24945+
<dd>
24946+
24947+
#### 📝 Description
24948+
24949+
<dl>
24950+
<dd>
24951+
24952+
<dl>
24953+
<dd>
24954+
24955+
Triggers AI-powered vendor enrichment for an existing vendor. Runs one or more enrichment stages (invoice scan, web search) based on the `scope` parameter. Can automatically apply extracted payment acceptance info and vendor contact information to the vendor record, or return raw results for manual review. Contact Payabli to enable this feature.
24956+
</dd>
24957+
</dl>
24958+
</dd>
24959+
</dl>
24960+
24961+
#### 🔌 Usage
24962+
24963+
<dl>
24964+
<dd>
24965+
24966+
<dl>
24967+
<dd>
24968+
24969+
```java
24970+
client.vendor().enrichVendor(
24971+
"8cfec329267",
24972+
VendorEnrichRequest
24973+
.builder()
24974+
.vendorId(3890L)
24975+
.scope(
24976+
Optional.of(
24977+
Arrays.asList("invoice_scan")
24978+
)
24979+
)
24980+
.applyEnrichmentData(false)
24981+
.invoiceFile(
24982+
FileContent
24983+
.builder()
24984+
.fContent("<base64-encoded-pdf>")
24985+
.filename("invoice-2026-001.pdf")
24986+
.ftype(FileContentFtype.PDF)
24987+
.build()
24988+
)
24989+
.fallbackMethod("check")
24990+
.build()
24991+
);
24992+
```
24993+
</dd>
24994+
</dl>
24995+
</dd>
24996+
</dl>
24997+
24998+
#### ⚙️ Parameters
24999+
25000+
<dl>
25001+
<dd>
25002+
25003+
<dl>
25004+
<dd>
25005+
25006+
**entry:** `String` — Entrypoint identifier.
25007+
25008+
</dd>
25009+
</dl>
25010+
25011+
<dl>
25012+
<dd>
25013+
25014+
**request:** `VendorEnrichRequest`
25015+
25016+
</dd>
25017+
</dl>
25018+
</dd>
25019+
</dl>
25020+
25021+
2493825022
</dd>
2493925023
</dl>
2494025024
</details>

src/main/java/io/github/payabli/api/core/ClientOptions.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,10 @@ private ClientOptions(
3838
this.headers.putAll(headers);
3939
this.headers.putAll(new HashMap<String, String>() {
4040
{
41-
put("User-Agent", "io.github.payabli:sdk-java/0.0.320");
41+
put("User-Agent", "io.github.payabli:sdk-java/0.0.321");
4242
put("X-Fern-Language", "JAVA");
4343
put("X-Fern-SDK-Name", "com.payabli.fern:api-sdk");
44-
put("X-Fern-SDK-Version", "0.0.320");
44+
put("X-Fern-SDK-Version", "0.0.321");
4545
}
4646
});
4747
this.headerSuppliers = headerSuppliers;

src/main/java/io/github/payabli/api/resources/bill/types/BillOutData.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@ public Optional<String> getAdditionalData() {
129129

130130
/**
131131
* @return An array of bill images. Attachments aren't required, but we strongly recommend including them. Including a bill image can make payouts smoother and prevent delays. You can include either the Base64-encoded file content, or you can include an fURL to a public file. The maximum file size for image uploads is 30 MB.
132+
* <p>When vendor enrichment is enabled and the first attachment is a PDF, the invoice is scanned and extracted vendor contact information and bill details (invoice number, amount due, due date) are merged into the request. Fields in the request body take precedence over extracted data. If the scan fails, bill creation proceeds with the original request data. See the <a href="/guides/pay-out-vendor-enrichment-overview">vendor enrichment guide</a> for details. Contact Payabli to enable this feature.</p>
132133
*/
133134
@JsonProperty("attachments")
134135
public Optional<List<FileContent>> getAttachments() {
@@ -425,6 +426,7 @@ public Builder additionalData(String additionalData) {
425426

426427
/**
427428
* <p>An array of bill images. Attachments aren't required, but we strongly recommend including them. Including a bill image can make payouts smoother and prevent delays. You can include either the Base64-encoded file content, or you can include an fURL to a public file. The maximum file size for image uploads is 30 MB.</p>
429+
* <p>When vendor enrichment is enabled and the first attachment is a PDF, the invoice is scanned and extracted vendor contact information and bill details (invoice number, amount due, due date) are merged into the request. Fields in the request body take precedence over extracted data. If the scan fails, bill creation proceeds with the original request data. See the <a href="/guides/pay-out-vendor-enrichment-overview">vendor enrichment guide</a> for details. Contact Payabli to enable this feature.</p>
428430
*/
429431
@JsonSetter(value = "attachments", nulls = Nulls.SKIP)
430432
public Builder attachments(Optional<List<FileContent>> attachments) {

src/main/java/io/github/payabli/api/resources/moneyout/AsyncMoneyOutClient.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -41,29 +41,29 @@ public AsyncRawMoneyOutClient withRawResponse() {
4141
}
4242

4343
/**
44-
* Authorizes transaction for payout. Authorized transactions aren't flagged for settlement until captured. Use <code>referenceId</code> returned in the response to capture the transaction.
44+
* Authorizes transaction for payout. If you don't pass the <code>autoCapture</code> field with a value of <code>true</code>, authorized transactions aren't flagged for settlement until captured. Use <code>referenceId</code> returned in the response to capture the transaction.
4545
*/
4646
public CompletableFuture<AuthCapturePayoutResponse> authorizeOut(AuthorizePayoutBody body) {
4747
return this.rawClient.authorizeOut(body).thenApply(response -> response.body());
4848
}
4949

5050
/**
51-
* Authorizes transaction for payout. Authorized transactions aren't flagged for settlement until captured. Use <code>referenceId</code> returned in the response to capture the transaction.
51+
* Authorizes transaction for payout. If you don't pass the <code>autoCapture</code> field with a value of <code>true</code>, authorized transactions aren't flagged for settlement until captured. Use <code>referenceId</code> returned in the response to capture the transaction.
5252
*/
5353
public CompletableFuture<AuthCapturePayoutResponse> authorizeOut(
5454
AuthorizePayoutBody body, RequestOptions requestOptions) {
5555
return this.rawClient.authorizeOut(body, requestOptions).thenApply(response -> response.body());
5656
}
5757

5858
/**
59-
* Authorizes transaction for payout. Authorized transactions aren't flagged for settlement until captured. Use <code>referenceId</code> returned in the response to capture the transaction.
59+
* Authorizes transaction for payout. If you don't pass the <code>autoCapture</code> field with a value of <code>true</code>, authorized transactions aren't flagged for settlement until captured. Use <code>referenceId</code> returned in the response to capture the transaction.
6060
*/
6161
public CompletableFuture<AuthCapturePayoutResponse> authorizeOut(MoneyOutTypesRequestOutAuthorize request) {
6262
return this.rawClient.authorizeOut(request).thenApply(response -> response.body());
6363
}
6464

6565
/**
66-
* Authorizes transaction for payout. Authorized transactions aren't flagged for settlement until captured. Use <code>referenceId</code> returned in the response to capture the transaction.
66+
* Authorizes transaction for payout. If you don't pass the <code>autoCapture</code> field with a value of <code>true</code>, authorized transactions aren't flagged for settlement until captured. Use <code>referenceId</code> returned in the response to capture the transaction.
6767
*/
6868
public CompletableFuture<AuthCapturePayoutResponse> authorizeOut(
6969
MoneyOutTypesRequestOutAuthorize request, RequestOptions requestOptions) {
@@ -143,28 +143,28 @@ public CompletableFuture<CaptureAllOutResponse> captureAllOut(
143143
}
144144

145145
/**
146-
* Captures a single authorized payout transaction by ID.
146+
* Captures a single authorized payout transaction by ID. If the transaction was authorized with <code>autoCapture</code> set to <code>true</code>, you don't need to call this endpoint to capture the transaction for processing.
147147
*/
148148
public CompletableFuture<AuthCapturePayoutResponse> captureOut(String referenceId) {
149149
return this.rawClient.captureOut(referenceId).thenApply(response -> response.body());
150150
}
151151

152152
/**
153-
* Captures a single authorized payout transaction by ID.
153+
* Captures a single authorized payout transaction by ID. If the transaction was authorized with <code>autoCapture</code> set to <code>true</code>, you don't need to call this endpoint to capture the transaction for processing.
154154
*/
155155
public CompletableFuture<AuthCapturePayoutResponse> captureOut(String referenceId, RequestOptions requestOptions) {
156156
return this.rawClient.captureOut(referenceId, requestOptions).thenApply(response -> response.body());
157157
}
158158

159159
/**
160-
* Captures a single authorized payout transaction by ID.
160+
* Captures a single authorized payout transaction by ID. If the transaction was authorized with <code>autoCapture</code> set to <code>true</code>, you don't need to call this endpoint to capture the transaction for processing.
161161
*/
162162
public CompletableFuture<AuthCapturePayoutResponse> captureOut(String referenceId, CaptureOutRequest request) {
163163
return this.rawClient.captureOut(referenceId, request).thenApply(response -> response.body());
164164
}
165165

166166
/**
167-
* Captures a single authorized payout transaction by ID.
167+
* Captures a single authorized payout transaction by ID. If the transaction was authorized with <code>autoCapture</code> set to <code>true</code>, you don't need to call this endpoint to capture the transaction for processing.
168168
*/
169169
public CompletableFuture<AuthCapturePayoutResponse> captureOut(
170170
String referenceId, CaptureOutRequest request, RequestOptions requestOptions) {

src/main/java/io/github/payabli/api/resources/moneyout/AsyncRawMoneyOutClient.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -56,15 +56,15 @@ public AsyncRawMoneyOutClient(ClientOptions clientOptions) {
5656
}
5757

5858
/**
59-
* Authorizes transaction for payout. Authorized transactions aren't flagged for settlement until captured. Use <code>referenceId</code> returned in the response to capture the transaction.
59+
* Authorizes transaction for payout. If you don't pass the <code>autoCapture</code> field with a value of <code>true</code>, authorized transactions aren't flagged for settlement until captured. Use <code>referenceId</code> returned in the response to capture the transaction.
6060
*/
6161
public CompletableFuture<PayabliApiHttpResponse<AuthCapturePayoutResponse>> authorizeOut(AuthorizePayoutBody body) {
6262
return authorizeOut(
6363
MoneyOutTypesRequestOutAuthorize.builder().body(body).build());
6464
}
6565

6666
/**
67-
* Authorizes transaction for payout. Authorized transactions aren't flagged for settlement until captured. Use <code>referenceId</code> returned in the response to capture the transaction.
67+
* Authorizes transaction for payout. If you don't pass the <code>autoCapture</code> field with a value of <code>true</code>, authorized transactions aren't flagged for settlement until captured. Use <code>referenceId</code> returned in the response to capture the transaction.
6868
*/
6969
public CompletableFuture<PayabliApiHttpResponse<AuthCapturePayoutResponse>> authorizeOut(
7070
AuthorizePayoutBody body, RequestOptions requestOptions) {
@@ -73,15 +73,15 @@ public CompletableFuture<PayabliApiHttpResponse<AuthCapturePayoutResponse>> auth
7373
}
7474

7575
/**
76-
* Authorizes transaction for payout. Authorized transactions aren't flagged for settlement until captured. Use <code>referenceId</code> returned in the response to capture the transaction.
76+
* Authorizes transaction for payout. If you don't pass the <code>autoCapture</code> field with a value of <code>true</code>, authorized transactions aren't flagged for settlement until captured. Use <code>referenceId</code> returned in the response to capture the transaction.
7777
*/
7878
public CompletableFuture<PayabliApiHttpResponse<AuthCapturePayoutResponse>> authorizeOut(
7979
MoneyOutTypesRequestOutAuthorize request) {
8080
return authorizeOut(request, null);
8181
}
8282

8383
/**
84-
* Authorizes transaction for payout. Authorized transactions aren't flagged for settlement until captured. Use <code>referenceId</code> returned in the response to capture the transaction.
84+
* Authorizes transaction for payout. If you don't pass the <code>autoCapture</code> field with a value of <code>true</code>, authorized transactions aren't flagged for settlement until captured. Use <code>referenceId</code> returned in the response to capture the transaction.
8585
*/
8686
public CompletableFuture<PayabliApiHttpResponse<AuthCapturePayoutResponse>> authorizeOut(
8787
MoneyOutTypesRequestOutAuthorize request, RequestOptions requestOptions) {
@@ -573,30 +573,30 @@ public void onFailure(@NotNull Call call, @NotNull IOException e) {
573573
}
574574

575575
/**
576-
* Captures a single authorized payout transaction by ID.
576+
* Captures a single authorized payout transaction by ID. If the transaction was authorized with <code>autoCapture</code> set to <code>true</code>, you don't need to call this endpoint to capture the transaction for processing.
577577
*/
578578
public CompletableFuture<PayabliApiHttpResponse<AuthCapturePayoutResponse>> captureOut(String referenceId) {
579579
return captureOut(referenceId, CaptureOutRequest.builder().build());
580580
}
581581

582582
/**
583-
* Captures a single authorized payout transaction by ID.
583+
* Captures a single authorized payout transaction by ID. If the transaction was authorized with <code>autoCapture</code> set to <code>true</code>, you don't need to call this endpoint to capture the transaction for processing.
584584
*/
585585
public CompletableFuture<PayabliApiHttpResponse<AuthCapturePayoutResponse>> captureOut(
586586
String referenceId, RequestOptions requestOptions) {
587587
return captureOut(referenceId, CaptureOutRequest.builder().build(), requestOptions);
588588
}
589589

590590
/**
591-
* Captures a single authorized payout transaction by ID.
591+
* Captures a single authorized payout transaction by ID. If the transaction was authorized with <code>autoCapture</code> set to <code>true</code>, you don't need to call this endpoint to capture the transaction for processing.
592592
*/
593593
public CompletableFuture<PayabliApiHttpResponse<AuthCapturePayoutResponse>> captureOut(
594594
String referenceId, CaptureOutRequest request) {
595595
return captureOut(referenceId, request, null);
596596
}
597597

598598
/**
599-
* Captures a single authorized payout transaction by ID.
599+
* Captures a single authorized payout transaction by ID. If the transaction was authorized with <code>autoCapture</code> set to <code>true</code>, you don't need to call this endpoint to capture the transaction for processing.
600600
*/
601601
public CompletableFuture<PayabliApiHttpResponse<AuthCapturePayoutResponse>> captureOut(
602602
String referenceId, CaptureOutRequest request, RequestOptions requestOptions) {

0 commit comments

Comments
 (0)