Assuming you are using Kentico 8+ and the new Checkout process that came with it, the best approach would be to create your own CMSCheckoutWebpart (more information with examples here) along with a custom field in your Shopping cart to hold the data.
For this you need to extend the default shopping cart with a custom field in Modules -> E-commerce -> Classes -> Shopping cart -> Fields with a custom field which would hold the information about your payment or anything else.
In the web part above you can set the value of some field in the current shopping cart very easily using something like:
ShoppingCart.SetValue("CustomFieldName", "value");
The approach with ShoppingCartCustomData is perfectly valid as well. The only disadvantage is that if you wish to store more data in there you will need to store them using XML/Json and then work with this.