Payment Links
Initiating a crypto payment via Payment Links.
To create a payment, you will need to use the Create Payment endpoint.
Definition
A payment link is a specific product that enables the merchant to both accept crypto payments in and send crypto payments out with the use of one endpoint. You can further specify the pay-in currency, or the pay-out address at the point of payment creation to streamline the process to suit your needs.
Payments In
When the Create Payment endpoint is used to accept payments IN, it creates a custom, one-time crypto wallet address that the end user can send the correct crypto to. The crypto address generated depends on the end users input when being directed to the payments URL given in the response, or can be bypassed if the pay-in type is known ahead of time.
These payment have an expected amount and an expected expiry time limit given in the create payment request, so BVNK will monitor this address on the respective blockchain and analyse the payment for the actual amount sent and when it was sent. This means that the payment link can have payment exception scenarios if the payment is higher or lower than the expected amount, or if the payment is sent after the expiry limit has been reached.
Payments Out
When the Create Payment endpoint is used to pay OUT crypto to a wallet address, no address is created, but rather a URL is created that an end user can be redirected to, where they can enter the currency they want the payment to be in and enter the wallet address they want the funds to be sent to. This step can be bypassed if the address is known ahead of time.
Payouts can only be the correct amount, so no payment exception scenarios can occur, but a payout can expire if the end user does no enter their address and claim the funds from the redirect URL within 3 months of the pay-out being generated.
Payment Links Scenario Flows
Standard Payment In
When a payment in is created using only the MerchantID, amount, type IN, currency, expiry minutes and reference, a URL will be generated that takes the end user to the crypto selection page. This will list all of the currencies that BVNK supports. After selecting and confirming the crypto type, the end user is then directed to the address payment page. this displays the relevant crypto wallet address that the payment needs to be sent to, as well as how much of that currency is required to complete the payment.
Payment In with crypto already known
When you know the the crypto you want to accept ahead of time, the crypto selection page can be bypassed by sending payInDetails with the rest of the standard request, this contains the currency, and protocol(if applicable), fields. The URL that is returned will go straight to the address payments page displaying the relevant address and amounts required to complete the payment.
Standard Payment Out
When a payment out is created using only the MerchantID, amount, type OUT, currency, expiry minutes and reference, a URL will be generated that takes the end user to the crypto selection and wallet address page. A payment out is created in pending state. Once the end user has entered the crypto they want with their validated address and confirmed these details, the payment will be processed and then completed once confirmed on the blockchain.
Payment Out with address already known
When you know the address and crypto type ahead of time, you can send payOutDetails with the standard request. This will contain the currency type, address and additional fields depending on crypto type, whcih will be automatically validated at the time of sending the request. This will bypass the type and address selection page, and automatically process the payment, which will then automatically complete once confirmed on the blockchain. This step means you need no input from the end user after requesting the pay-out.
Updated 8 months ago