繁体   English   中英

如何在iOS PayTm集成中生成“checksumGenerationURL”和“checksumValidationURL”?

[英]How to generate “checksumGenerationURL” and “checksumValidationURL” in iOS PayTm integration?

我想在我的应用程序中集成Paytm SDK 我有MerchantId and Merchant key 但我没有那些网址。 如何生成这些URL?

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

我被困大约15天的问题是URL生成:

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(在目标c中我们这样添加#include <CommonCrypto/CommonDigest.h>以便CC_SHA512_DIGEST_LENGTH工作随意分享注释。

您只能从服务器生成校验和(适用于SDK 2.0和最新版本)。 Paytm确实为您需要在服务器上传的校验和生成提供PHP文件(java,python)。 上传完成后再更改商家密钥 - 进入lib文件夹并更新config.paytm.php文件中的密钥。 你可以从这里获得使用PHP文件和android代码生成校验和的参考 - http://www.blueappsoftware.in/android/blog/paytm-integration-sdk-2-1-android/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM