2016-06-02 3 views
0

あなたはうまくいきますように。iosでユーザーにログインを要求せずにCitrus支払いゲートウェイを統合する方法は?

iPhoneアプリケーションにCitrusPay SDKを統合しようとしています。 Citrus Pay Directへのログインをユーザに要求せずに、CitrusPay Directの支払いをどのように統合することができますか?シトラス財布にユーザーが希望の場合はネットバンキング

を使用してクレジットカード/デビットカード

  • ペイを使用して
  • ペイを使用して

    1. ペイ:

      は、私のようなユーザーに選択肢を与えたいですCitrus Walletを使用して支払うと、ユーザーに資格情報を使ってログインするように求められます。クレジットカード/デビットカードまたはネットバンキングを使用した支払いのような2番目または3番目のオプションを選択すると、ログインする必要はありません。

      CitrusPay SDKを使用して私のアプリでこの機能を実装したいと思います。あなたはこのコードについて私に指摘できますか?

      私はすでにシトラスの賃金のデモを持っており、私はすでにそれをチェックしました。

      https://github.com/citruspay/citruspay-ios-sdk

      私は上記のリンクからデモをダウンロード。

      私を助けてください。私はこのSDKに慣れていないんだけど、私は、コード内の特定の時点で、あなたがサービスの世話をし、資格情報(ユーザー名とパスワード)を渡すオブジェクトをインスタンス化することを前提とし、おそらく

  • +0

    サンプルコードでは、資格情報がハードコードされており、アプリの起動時にすぐに認証されると想定しています。そのSDKを初期化するコードを、ユーザーがログインする場所に移動する必要があります。 –

    答えて

    0
    [CitrusPaymentSDK enableDEBUGLogs]; 
    
        CTSKeyStore *keyStore = [[CTSKeyStore alloc] init]; 
        keyStore.signinId = SignInId; 
        keyStore.signinSecret = SignInSecretKey; 
        keyStore.signUpId = SubscriptionId; 
        keyStore.signUpSecret = SubscriptionSecretKey; 
        keyStore.vanity = VanityUrl; 
    
        [CitrusPaymentSDK initializeWithKeyStore:keyStore environment:CTSEnvSandbox]; 
    
        [CitrusPaymentSDK enableDEBUGLogs]; 
    
        //CC, DC payments 
        CTSElectronicCardUpdate *creditCard = [[CTSElectronicCardUpdate alloc] initCreditCard]; //for debit card use > initDebitCard 
        creditCard.number = @""; 
        creditCard.expiryDate = @"XX/XX"; //only mm/yyyy format 
        creditCard.scheme = [CTSUtility fetchCardSchemeForCardNumber:creditCard.number]; //fetch card scheme 
        creditCard.ownerName = @"XXXXXXXX"; // no special characters here 
        creditCard.cvv = @"XXX"; 
    
    
        CTSPaymentLayer *paymentLayer = [CitrusPaymentSDK fetchSharedPaymentLayer]; 
    
        CTSPaymentDetailUpdate *paymentInfo = [[CTSPaymentDetailUpdate alloc] init]; 
        [paymentInfo addCard:creditCard]; 
    
        CTSContactUpdate* contactInfo; 
        CTSUserAddress* addressInfo; 
    
        contactInfo = [[CTSContactUpdate alloc] init]; 
        contactInfo.firstName = @""; 
        contactInfo.lastName = @""; 
        contactInfo.email = @""; 
        contactInfo.mobile = @""; 
    
        addressInfo = [[CTSUserAddress alloc] init]; 
        addressInfo.city = TEST_CITY; 
        addressInfo.country = TEST_COUNTRY; 
        addressInfo.state = TEST_STATE; 
        addressInfo.street1 = TEST_STREET1; 
        addressInfo.street2 = TEST_STREET2; 
        addressInfo.zip = TEST_ZIP; 
    
    
        [CTSUtility requestBillAmount:@"X" billURL:BillUrl callback: ^(CTSBill *bill , NSError *error){ 
    
         if(error){ 
          dispatch_async(dispatch_get_main_queue(), ^{ 
          }); 
          [UIUtility toastMessageOnScreen:error.localizedDescription]; 
         } 
         else { 
          [paymentLayer requestDirectChargePayment:paymentInfo withContact:contactInfo withAddress:addressInfo bill:bill returnViewController:self withCompletionHandler:^(CTSCitrusCashRes *citrusCashResponse, NSError *error){ 
    
           dispatch_async(dispatch_get_main_queue(), ^{ 
            //         [self.indicatorView stopAnimating]; 
            //         self.indicatorView.hidden = TRUE; 
           }); 
           if(error){ 
            [UIUtility toastMessageOnScreen:error.localizedDescription]; 
           } 
           else { 
            [UIUtility toastMessageOnScreen:[NSString stringWithFormat:@"Payment Status %@",[citrusCashResponse.responseDict valueForKey:@"TxStatus"] ]]; 
            //         [self resetUI]; 
           } 
          }]; 
         } 
        }]; 
    
    関連する問題