我想将Paytm SDK集成到我的应用中。我有MerchantId and Merchant key
但是我没有那些乌尔斯。如何生成这些URL?

最佳答案

我将PayTM sdk集成到快速应用程序中,并且工作正常。

我停留约15天的问题是网址生成:
checkSumGenerationURLcheckSumValidationURL

之前我使用的是PayTM提供的网址,但由于这个原因,每次尝试付款都会失败。

所以这是最终的解决方案:
我和服务器团队坐在一起,然后决定在我们自己的服务器中处理它,然后再尝试。

它很棒。

So here is final set of parameters you need to pass :
//Step 1: Create a default merchant config object
    PGMerchantConfiguration *mc = [PGMerchantConfiguration defaultConfiguration];

    //Step 2: If you have your own checksum generation and validation url set this here. Otherwise use the default Paytm urls
    mc.checksumGenerationURL = @"generate checksum url by handling in own server";
    mc.checksumValidationURL =   @"generate checksum url by handling in own server";


    //Step 3: Create the order with whatever params you want to add. But make sure that you include the merchant mandatory params
    NSMutableDictionary *orderDict = [NSMutableDictionary new];
    //Merchant configuration in the order object
    orderDict[@"MID"] = @"abc1111";
    orderDict[@"CHANNEL_ID"] = @"WAP";
    orderDict[@"INDUSTRY_TYPE_ID"] = @"Education";
    orderDict[@"WEBSITE"] = @"companyname";
    //Order configuration in the order object
    orderDict[@"TXN_AMOUNT"] = @"100";
    orderDict[@"ORDER_ID"] = [Feepayment generateOrderIDWithPrefix:@"111"];
    orderDict[@"REQUEST_TYPE"] = @"DEFAULT";
    orderDict[@"CUST_ID"] = @"abc7777";

这是iOS Swift2.2(应用程序端)中的校验和生成方法

//调用此方法
createCheckSumString(hashValue)

hasValue是在其中添加了所有PAYTM参数(字符串类型)的参数。

这是方法:
func createCheckSumString(input: String) -> String {
    let cstr = input.cStringUsingEncoding(NSUTF8StringEncoding)
    var data = NSData(bytes: cstr, length: input.length)
    var digest = [UInt8](count: CC_SHA512_DIGEST_LENGTH, repeatedValue: 0)
    // This is an iOS5-specific method.
    // It takes in the data, how much data, and then output format, which in this case is an int array.
    CC_SHA512(data.bytes, Int(data.length), digest)
    var output = String(capacity: CC_SHA512_DIGEST_LENGTH * 2)
    // Parse through the CC_SHA256 results (stored inside of digest[]).
    for i in 0..<CC_SHA512_DIGEST_LENGTH {
        output += String(format: "%02x", digest[i])
    }
    return output
}

注意-导入CommonDigest(在 objective-c 中,我们添加#include <CommonCrypto/CommonDigest.h>以便CC_SHA512_DIGEST_LENGTH起作用
随时分享评论。

关于ios - 如何在iOS PayTm集成中生成“checksumGenerationURL”和“checksumValidationURL”?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36130422/

10-12 06:02