博多南ウェブサービスのblog

博多南ウェブサービスのサービス紹介

【Play Framework 2.8.x と PayPay for Developers サンプル】ウェブペイメント-即時売上の返金/キャンセルをしたい

Play Framework を始めたばかりの方向けに、サンプルを進めるうえで困ったところを共有する目的で書いています。

Play Framework 2.8.x 、paypayopa-sdk-java 1.0.3 を使って、ウェブペイメント-即時売上の「返金」「キャンセル」を実装したときのメモです。

以下、目次

できたこと

  • 決済用のQRコード作成
  • 決済ステータスの確認
  • キャンセル/返金

できていないこと

  • Polling による決済ステータスの確認
  • webhook の利用

設計時に迷ったところ

  • キャンセルの判定に使う翌日って、日本時間?API で帰ってくるのってエポックタイムスタンプだけど(多分そう)

    通常の決済フローでは基本的には、Cancel a paymentを使いませんが以下の場合に利用ください。

    • Capture a payment authorizationがタイムアウトし、キャンセルを実施したい場合
    • Get Payment Detailsを実行したが状態がわからない場合

    注:Cancel a paymentは、支払いが行われた翌日の00:14:59まで使用できます。 00:15 AM以降の場合、Refund a paymentを呼び出して支払いを払い戻します。

  • キャンセルと返金は、自分で判定してAPI呼ばないとだめ?

実装時に迷ったところ

  • java.timeZonedDateTimeOffsetDateTimeって何?違いは?(わからない)

参考にしたところ

Githubこちら

以上でした。