【发布时间】:2018-07-12 21:30:32
【问题描述】:
我收到来自 PayUMoney 支付网关的哈希值不匹配等错误
这是我的代码,请告诉我问题出在哪里
PUMTxnParam *txnParam= [[PUMTxnParam alloc] init];
//Set the parameters
txnParam.phone = [[NSUserDefaults standardUserDefaults] valueForKey:@"mobile"];
txnParam.email = [[NSUserDefaults standardUserDefaults] valueForKey:@"username"];
txnParam.amount = _txtCash.text;
txnParam.environment = PUMEnvironmentProduction;
txnParam.firstname = [[NSUserDefaults standardUserDefaults] valueForKey:@"name1"];
txnParam.key = @"xxxxxxxx";
txnParam.merchantid = @"xxxxxxx";
txnParam.txnID = [txnData valueForKey:@"txnid"];
txnParam.surl = @"https://google.com/";
txnParam.furl = @"https://google.com/";
txnParam.productInfo = @"My App";
txnParam.udf1 = @"";
txnParam.udf2 = @"";
txnParam.udf3 = @"";
txnParam.udf4 = @"";
txnParam.udf5 = @"";
txnParam.hashValue = [self createSHA512:[NSString stringWithFormat:@"%@|%@|%@|%@|%@|%@|%@|%@|%@|%@|%@||||||%@|",txnParam.key,txnParam.txnID,txnParam.amount,txnParam.productInfo,txnParam.firstname,txnParam.email,txnParam.udf1,txnParam.udf2,txnParam.udf3,txnParam.udf4,txnParam.udf5,@"dxltF25QEp"]];
-(NSString *)createSHA512:(NSString *)string
{
const char *cstr = [string cStringUsingEncoding:NSUTF8StringEncoding];
NSData *data = [NSData dataWithBytes:cstr length:string.length];
uint8_t digest[CC_SHA512_DIGEST_LENGTH];
CC_SHA512(data.bytes, (CC_LONG)data.length, digest);
NSMutableString* output = [NSMutableString stringWithCapacity:CC_SHA512_DIGEST_LENGTH * 2];
for(int i = 0; i < CC_SHA512_DIGEST_LENGTH; i++)
[output appendFormat:@"%02x", digest[i]];
return output;
}
请帮忙解决这个问题。
【问题讨论】:
-
检查参数名称:这些是否正确?以及钥匙和所有东西?
-
@ShivamTripathi 是的,所有参数和密钥都按照 PayU SDK
-
邮寄给他们的支持团队。他们会解决您的问题。
标签: ios objective-c payumoney payu