I 49 Payment Information Management - UnionInternationalCheminsdeFer/OSDM GitHub Wiki

I-49 Payment Information Management

Description

The current OSDM online API doesn’t manage payment information. OSDM interface cannot be used to perform a payment transaction. It is accepted that the payment transaction is managed outside OSDM, meaning that the distribution channel will use a third party API or it is own payment API (if available) to handle payment. Once the payment is done, we need to be able to send information about the payment to the allocator/provider via OSDM. The purpose of this change request is to update OSDM interface so that information such as the type of method of payment(Invoice, Credit/debit card, Cash, Other), the amount and the last 4 digits (in case of credit/debit card) can be provided to the allocator/provider.

Owner

  • Koffi Frederic Konan (Amadeus)

Business Value

For Railways (direct), for 3rd party (indirect) distributors and travelers Business Outcomes

The proposal ensures compatibility with existing provider system requiring a method of payment to be provided at fulfillment time. With this proposal it will be possible for an agent performing a refund to check that the refund is done on the same form of payment used at fulfillment time. This is especially true when the traveler is requesting a refund from the channel different from the channel he used to perform his initial payment. Additionally, for some fulfillment type the allocator must specify the method of payment on the fulfillment document. So the allocator cannot fulfil that required if information about the payment is not provided.

Business Outcomes

Prevent money laundring using refund or exchange operations.

Leading Indicators

  • Tbd

Nonfunctional Requirements

  • Tbd

Specification Effort

  • To be estimated

Context

The request is to upgrade OSDM interface to align it with existing standard payment and fulfilment processes.

The Payment information can be added to a PRE-BOOKED booking via the PATCH /bookings/{bookingId}/ endpoint.

Implementation Details

To be added to the booking model as well as the PATCH bookings:

Payments:
  type: array
  items: 
    $ref: Payment

Payment:
  type: object
  required:
    - paymentMethod
    - price
  properties:
   paymentMethod:
     $ref: PaymentMethod
   voucherInformation
    $ref: VoucherInformation
   price:
     $ref: Price

PaymentMethod:
   type: string
   x-extensible-enum
   - CASH
   - INVOICE
   - VOUHCER
   - CARD

Estimation: Small

PR merged: https://github.com/UnionInternationalCheminsdeFer/OSDM/pull/268