payment-api

pay online

View readme on GitLab

payment.proto

syntax = "proto3";
package payment;

// EventPaymentService is a service to enable online payment for events handled by the 
// eventmanager. This service is thighly coupled to the eventmanager, because we had
// a short timeline to implement this API. But the idea in the future is to create
// a universal PaymentService.
service EventPaymentService {

  // PayEvent creates a Payrexx Gateway for the given participartion and returns
  // a link to which the user can be redirected to proceed with the payment
  // On completion of the payment the eventmanager is notified and the participation
  // confirmed
  rpc CreateEventPayment(CreateEventPaymentRequest) returns (EventPayment);
}

message CreateEventPaymentRequest {
  // participation id as defined by the eventmanager for a given user and event
  string participation_id = 1;

  // url to which the user is redirected after the payment was successful
  string success_redirect_url = 2;

  // url to which the user is redirected after the payment failed
  string failed_redirect_url = 3;

  // url to which the user is redirected if payment process is cancelled
  string cancel_redirect_url = 4;
}

message EventPayment { string pay_link = 1; }