Skip to content

Advanced

pleykov edited this page Sep 11, 2017 · 6 revisions

In this section we will discuss SDK peculiarities in greater detail. Those include different request types, session-related parameters, as well as descriptions of the mandatory and most of the optional parameters. All SDK-supported parameters' documentation can be found at the Dotnet-doc pages.

A couple of SDK-related tools also are worth mentioning. Those are instruments for client data collection, network and request troubleshooting.

RIS Payment Encryption Options

When using the SDK the following encryption options are available:

  • KHASH - payment token hashing

As of SDK version 5.0.0 all payment tokens are hashed (one-way encryption) prior to being transmitted to Kount. Hence, no credit card numbers, Paypal payment IDs, Check numbers, Google Checkout IDs, Bill Me Later IDs, Green Dot MoneyPak IDs, or gift card numbers are transmitted in plain text. A new RIS input field, LAST4, has been introduced. This is required to be set when the payment type is credit card and is optional for all other payment types. The value of this field is the last 4 numbers/characters of the payment token. The SDK automatically sets this value prior to hashing the payment token for all payment types.

❗ When using the Kount .NET SDK all credit card information, by default, uses the KHASH encryption method where the credit card information is irreversibly hashed prior to transmission from the merchant to Kount.

Output : BIN + 14 alpha-numeric characters.
Example: "123456A12C34E56G7DFG"

A code sampele of using KHASH(Test Helper):

/// <summary>
/// Create inquiry with CARD payment
/// </summary>
/// <param name="cardNumber">card number</param>
/// <param name="sid">session id</param>
/// <param name="orderNum">order number</param>
/// <returns>inquiry</returns>
public static Inquiry CreateInquiry(string cardNumber, out string sid, out string orderNum)
{
    // create inquiry with default settings
    Inquiry inquiry = DefaultInquiry(out sid, out orderNum);
    // hashing card number    
    inquiry.SetCardPayment(cardNumber);

    return inquiry;
}
  • MASK - ability to pass the first six and last four of a credit card filled in with XXXs.

In SDK version 6.9.5 is implemented new method Request.SetCardPaymentMasked(string cardNumber), which sets a card payment and masks the card number.

Output : BIN + 10 capital “X” characters + Last 4 of credit card.
Example: 123456XXXXXXXXXX7890

A code sampele of using MASK(Test Helper):

/// <summary>
/// Create masked inquiry with CARD payment
/// </summary>
/// <param name="cardNumber">card number</param>
/// <param name="sid">session id</param>
/// <param name="orderNum">order number</param>
/// <returns>masked inquiry</returns>
public static Inquiry CreateInquiryMasked(string cardNumber, out string sid, out string orderNum)
{
    // create inquiry with default settings
    Inquiry inquiry = DefaultInquiry(out sid, out orderNum);
    // mask card number    
    inquiry.SetCardPaymentMasked(cardNumber);

    return inquiry;
}