メインコンテンツへスキップ

Documentation Index

Fetch the complete documentation index at: https://waffo.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

動作要件

  • Java 8 以降(8、11、17、21 に対応)
  • Maven 3.6+ または Gradle 6.0+

インストール

<dependency>
    <groupId>com.waffo</groupId>
    <artifactId>waffo-java</artifactId>
    <version>1.2.0</version>
</dependency>
最新バージョンは Maven Central でご確認ください。

初期化

import com.waffo.Waffo;
import com.waffo.types.config.WaffoConfig;
import com.waffo.types.config.Environment;

WaffoConfig config = WaffoConfig.builder()
    .apiKey("your-api-key")
    .privateKey("your-base64-encoded-private-key")
    .waffoPublicKey("waffo-public-key")
    .merchantId("your-merchant-id")
    .environment(Environment.SANDBOX)
    .build();

Waffo waffo = new Waffo(config);

決済

import com.waffo.types.ApiResponse;
import com.waffo.types.order.*;
import com.waffo.types.payment.ProductName;
import com.waffo.types.iso.CurrencyCode;
import java.util.UUID;

String paymentRequestId = UUID.randomUUID().toString().replace("-", "");

CreateOrderParams params = CreateOrderParams.builder()
    .paymentRequestId(paymentRequestId)
    .merchantOrderId("ORDER_" + System.currentTimeMillis())
    .orderCurrency(CurrencyCode.HKD)
    .orderAmount("100.00")
    .orderDescription("Test Product")
    .notifyUrl("https://your-site.com/webhook")
    .userInfo(UserInfo.builder()
        .userId("user_123")
        .userEmail("user@example.com")
        .userTerminal(UserTerminalType.WEB)
        .build())
    .paymentInfo(PaymentInfo.builder()
        .productName(ProductName.ONE_TIME_PAYMENT)
        .build())
    .build();

ApiResponse<CreateOrderData> response = waffo.order().create(params);
if (response.isSuccess()) {
    CreateOrderData data = response.getData().get();
    System.out.println("Redirect URL: " + data.fetchRedirectUrl());
}

エラーハンドリング

import com.waffo.exception.WaffoUnknownStatusException;
import com.waffo.exception.WaffoException;

try {
    ApiResponse<CreateOrderData> response = waffo.order().create(params);
} catch (WaffoUnknownStatusException e) {
    // 重要: 決済が成功している可能性があります。照会 API で確認してください
} catch (WaffoException e) {
    // クライアント側のエラー(設定、署名など)
}

ソースコードとドキュメント