protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); SetContentView(Resource.Layout.token_payment); SetTitle(Resource.String.title_payment_token); cv2EntryView = FindViewById<CV2EntryView>(Resource.Id.cv2EntryView); SetHelpText(Resource.String.help_info, Resource.String.help_cv2_text); SetHelpText(Resource.String.help_postcode_title, Resource.String.help_postcode_text, Resource.Id.postCodeHelpButton); judoPaymentRef = Intent.GetStringExtra(JudoSDKManager.JUDO_PAYMENT_REF); judoAmount = decimal.Parse(Intent.GetStringExtra(JudoSDKManager.JUDO_AMOUNT)); judoId = Intent.GetStringExtra(JudoSDKManager.JUDO_ID); judoCurrency = Intent.GetStringExtra(JudoSDKManager.JUDO_CURRENCY); judoCardToken = Intent.GetParcelableExtra(JudoSDKManager.JUDO_CARD_DETAILS).JavaCast<CardToken>(); judoConsumer = Intent.GetParcelableExtra(JudoSDKManager.JUDO_CONSUMER).JavaCast<Consumer>(); if (judoPaymentRef == null) { throw new ArgumentException("JUDO_PAYMENT_REF must be supplied"); } if (judoConsumer == null) { throw new ArgumentException("JUDO_CONSUMER must be supplied"); } if (judoAmount == null) { throw new ArgumentException("JUDO_AMOUNT must be supplied"); } if (judoId == null) { throw new ArgumentException("JUDO_ID must be supplied"); } if (judoCurrency == null) { throw new ArgumentException("JUDO_CURRENCY must be supplied"); } if (judoCardToken == null) { throw new ArgumentException("JUDO_CARD_DETAILS must be supplied"); } cv2EntryView.SetCardDetails(judoCardToken); judoMetaData = Intent.GetParcelableExtra(JudoSDKManager.JUDO_META_DATA).JavaCast<MetaData>(); var payButton = FindViewById<Button>(Resource.Id.payButton); payButton.Text = Resources.GetString(Resource.String.token_payment); payButton.Click += (sender, args) => TransactClickHandler(MakeTokenPayment); }
public Intent TokenPreAuth(Context context, string judoId, string currency, string amount, string paymentReference, string consumerReference, CardToken cardToken, Dictionary<string, string> metaData, string consumerToken = null) { Intent intent = new Intent(context, typeof(PreAuthTokenActivity)); intent.PutExtra(JudoSDKManager.JUDO_PAYMENT_REF, paymentReference); intent.PutExtra(JudoSDKManager.JUDO_CONSUMER, new Consumer(consumerReference, consumerToken)); intent.PutExtra(JudoSDKManager.JUDO_AMOUNT, amount); intent.PutExtra(JudoSDKManager.JUDO_ID, judoId); intent.PutExtra(JudoSDKManager.JUDO_CURRENCY, currency); intent.PutExtra(JudoSDKManager.JUDO_CARD_DETAILS, cardToken); intent.PutExtra(JudoSDKManager.JUDO_META_DATA, new MetaData(metaData)); return intent; }
public static CardToken InitCardToken(string token, string consumerToken, string cv2, CardBase.CardType cardType, string expiryDate = null, string firstSix = null, string lastfour = null) { CardToken cd = new CardToken(); cd.Token = token; cd.ConsumerToken = consumerToken; int cv2Number; if (!int.TryParse(cv2, out cv2Number)) { throw new InvalidDataException("CV2"); } cd.CardType = cardType; cd.ExpiryDate = expiryDate; cd.CardFirstSix = firstSix; cd.CardLastFour = lastfour; cd.IsValidCard(); return cd; }
private void payToken_Click(object sender, EventArgs e) { if (string.IsNullOrWhiteSpace(consumerToken) || string.IsNullOrWhiteSpace(cardToken) || string.IsNullOrWhiteSpace(rcp_consumerRef) || string.IsNullOrWhiteSpace(lastFour)) { Toast.MakeText(this, "Can't make a token payment before making a full card payment to save card token", ToastLength.Short).Show(); return; } var consumerReference = rcp_consumerRef; var token = new CardToken() { CardLastFour = lastFour, Token = cardToken, ConsumerToken = consumerToken, CardType = cardType }; // Optional: Supply meta data about this transaction, pass as last argument instead of null. var intent = JudoSDKManager.UIMethods.TokenPayment(this, MY_JUDO_ID, currency, amount, paymentReference, consumerReference, token, null, consumerToken); StartActivityForResult(intent, ACTION_TOKEN_PAYMENT); }
public void SetCardDetails(CardToken cardToken) { SetLast4CCNosText(cardToken.CardLastFour); SetCardType(cardToken.CardType); }