Participant registration

In order to send payments, you need to register a Participant within the Gevamu Payments Solution. This example shows how to register a Participant node.

classDiagram
  class MyPaymentService {
    + registerViaGevamu()
  }
  class GevamuFacade {
    + registerParticipant()
  }

  MyPaymentService ..> GevamuFacade
Mermaid diagram is loading...

The Gevamu Payments Solution provides RegisterParticipantFlow as the flow for registration and ParticipantRegistration as the participant registration record.

Registering a Participant Node using classes provided by Gevamu SDK

See an example of calling RegisterParticipantFlow below:

import com.gevamu.corda.flows.ParticipantRegistration
import com.gevamu.corda.flows.RegisterParticipantFlow
import net.corda.core.identity.Party
import net.corda.core.node.services.CordaService
class GevamuFacade {
fun registerParticipant(gateway: Party): ParticipantRegistration {
val flowHandle = serviceHub.startFlow(RegisterParticipantFlow(gateway))
return flowHandle.returnValue.get()
}
}

RegisterParticipantFlow requests registration from the Gevamu Gateway node identified via the Party instance.

You may choose to design your CorDapp so that it initiates the Participant node registration flow via an RPC call or using the serviceHub as in the example above.

Upon successful registration, the Payment Gateway node returns the participant registration record with the Participant ID and the BNO Network ID. The structure of the ParticipantRegistration data class is shown below.

classDiagram
  class ParticipantRegistration {
    networkId: String
    participantId: String
  }
Mermaid diagram is loading...