It's done in a plugin source code. Please have a look at a built-in "Nop.Plugin.Payments.PayPalStandard" plugin, "PostProcessPayment" method of "PayPalStandardPaymentProcessor" class as an example. Also have a look at How to code my own payment method