Paytm sdk ios integration para abrir el formulario de pago Paytm?

Integrated Paytm sdk 2.1 en iOS (Xcode 7) y configurado para realizar el pago.

Tengo un formulario en el cual cantidad y otros campos deben llenarse, luego hay un button para el pago.

Aquí está el código que estoy usando:

//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"; mc.checksumValidationURL = @"checksum validation url"; //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"; PGOrder *order = [PGOrder orderWithParams:orderDict]; //Step 4: Choose the PG server. In your production build dont call selectServerDialog. Just create a instance of the //PGTransactionViewController and set the serverType to eServerTypeProduction [PGServerEnvironment selectServerDialog:self.view completionHandler:^(ServerType type) { PGTransactionViewController *txnController = [[PGTransactionViewController alloc] initTransactionForOrder:order]; //show title var UIView *mNavBar = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width,44)]; mNavBar.backgroundColor = [UIColor grayColor]; txnController.topBar = mNavBar; //Cancel button UIButton *mCancelButton = [[UIButton alloc] initWithFrame:CGRectMake(5, 2, 70, 40)]; [mCancelButton setTitle:@"Cancel" forState:UIControlStateNormal]; mCancelButton.titleLabel.textColor = PURPLE_COLOR; [mCancelButton setFont:[UIFont fontWithName:@"Helvetica-Bold" size:15.0]]; txnController.cancelButton = mCancelButton; //add title UILabel *mTitleLabel = [[UILabel alloc] initWithFrame:CGRectMake(self.view.frame.size.width/2 - 10, 1, 100, 50)]; [mTitleLabel setText:@"Payment"]; [mTitleLabel setFont:[UIFont fontWithName:@"Helvetica-Bold" size:15.0]]; mTitleLabel.textColor = [UIColor whiteColor]; [mNavBar addSubview:mTitleLabel]; if (type!=eServerTypeNone) { txnController.serverType = type; txnController.merchant = mc; txnController.loggingEnabled = YES; txnController.sendAllChecksumResponseParamsToPG = YES; txnController.delegate = self; [self showController:txnController]; } }]; //show controller method -(void)showController:(PGTransactionViewController *)controller { if (self.navigationController != nil) [self.navigationController pushViewController:controller animated:YES]; else [self presentViewController:controller animated:YES completion:^{ }]; } //remove controller -(void)removeController:(PGTransactionViewController *)controller { if (self.navigationController != nil) [self.navigationController popViewControllerAnimated:YES]; else [controller dismissViewControllerAnimated:YES completion:^{ }]; } #pragma mark PGTransactionViewController delegate - (void)didSucceedTransaction:(PGTransactionViewController *)controller response:(NSDictionary *)response { DEBUGLOG(@"ViewController::didSucceedTransactionresponse= %@", response); NSString *title = [NSString stringWithFormat:@"Your order was completed successfully. \n %@", response[@"ORDERID"]]; [[[UIAlertView alloc] initWithTitle:title message:[response description] delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil] show]; [self removeController:controller]; } - (void)didFailTransaction:(PGTransactionViewController *)controller error:(NSError *)error response:(NSDictionary *)response { DEBUGLOG(@"ViewController::didFailTransaction error = %@ response= %@", error, response); if (response) { [[[UIAlertView alloc] initWithTitle:error.localizedDescription message:[response description] delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil] show]; } else if (error) { [[[UIAlertView alloc] initWithTitle:@"Error" message:error.localizedDescription delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil] show]; } [self removeController:controller]; } - (void)didCancelTransaction:(PGTransactionViewController *)controller error:(NSError*)error response:(NSDictionary *)response { DEBUGLOG(@"ViewController::didCancelTransaction error = %@ response= %@", error, response); NSString *msg = nil; if (!error) msg = [NSString stringWithFormat:@"Successful"]; else msg = [NSString stringWithFormat:@"UnSuccessful"]; [[[UIAlertView alloc] initWithTitle:@"Transaction Cancel" message:msg delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil] show]; [self removeController:controller]; } - (void)didFinishCASTransaction:(PGTransactionViewController *)controller response:(NSDictionary *)response { DEBUGLOG(@"ViewController::didFinishCASTransaction:response = %@", response); } 

Aquí hay una captura de pantalla mientras se usa la puesta en escena que muestra directamente esta página: introduzca la descripción de la imagen aquí

* Nota: en realidad, estoy intentando realizar la puesta en escena, no para la producción.

Cuando ejecuto, no muestra el formulario de pago de Paytm en lugar de mostrar order y cantidad con el ID de transacción directamente.

Cómo abrir el formulario de pago Paytm cuando el usuario ingrese el monto del arancel en el formulario, luego debe calcular el monto con un arancel extra y luego hacer clic en el button de pago de aranceles, debe abrir el FORMULARIO DE PAGO PAYTM.

POR FAVOR, AYÚDENME PARA SOLUCIONAR ESTE PROBLEMA (HE PASADO POR EL DOCUMENTO DE PAYTM SDK PASO A PASO, PERO NO PUEDO ENCONTRARLO). GRACIAS.

Importante: ** En lo que respecta a checksumGenerationURL y checksumValidationURL, debemos crearlo. Inicialmente intenté usar Paytm pero no funciona, así que finalmente nuestro equipo de serveres lo hizo, este es el punto más importante para la integración de Paytm

Finalmente, resuelto probándolo en la Producción y funciona bien. En lo que respecta al server Staging, creo que hay información codificada en el SDK, así que espero que en la próxima versión de PGSDK podamos probarlo también en el ensayo.

Gracias .

@Pradeep k … muchas gracias por todo su valioso apoyo.

¿Has llenado correctamente el mc.checksumGenerationURL y mc.checksumValidationURL? También hay una versión 2.7 del SDK que debería usar. Consulte a su punto de contacto de Paytm para get el último SDK de iOS.

Ahora sobre la cantidad, Paytm no calcula el impuesto. Debe agregarlo al monto que está enviando a Paytm.