androideclipse中的条带集成

androideclipse中的条带集成,android,Android,我有一个Android中条带集成的演示。 我有问题的是生成令牌id,但以后怎么付款的金额要少到账户上 我遵循stripe官方网站的代码: 现在我已经解决了这个问题 public class StripePaymentActivity extends FragmentActivity { /* * Change this to your publishable key. * * You can get your key here: https://manage.stripe.com/a

我有一个Android中条带集成的演示。 我有问题的是生成令牌id,但以后怎么付款的金额要少到账户上

我遵循stripe官方网站的代码:


现在我已经解决了这个问题

public class StripePaymentActivity extends FragmentActivity {

/*
 * Change this to your publishable key.
 * 
 * You can get your key here: https://manage.stripe.com/account/apikeys
 */
// public static final String PUBLISHABLE_KEY =
// "pk_test_Tw0HyQcWAVM9R5dBdiiS90X9"; Client Key

public static final String PUBLISHABLE_KEY = "your key";
private ProgressDialogFragment progressFragment;
String[] id, memberId, userEmail, endDate;
Dialog dialog;

@SuppressLint("NewApi")
@TargetApi(Build.VERSION_CODES.GINGERBREAD)
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.payment_activity);
    dialog = new Dialog(StripePaymentActivity.this);
    if (android.os.Build.VERSION.SDK_INT > 9) {
        StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()
                .permitAll().build();
        StrictMode.setThreadPolicy(policy);
    }
    progressFragment = ProgressDialogFragment
            .newInstance(R.string.progressMessage);
}

public void saveCreditCard(PaymentForm form) {

    Card card = new Card(form.getCardNumber(), form.getExpMonth(),
            form.getExpYear(), form.getCvc());
    Log.e("card ", "27th March ::- " + card);
    boolean validation = card.validateCard();
    Log.e("Validation", "27th March::-" + validation);
    if (validation) {
        startProgress();
        new Stripe().createToken(card, PUBLISHABLE_KEY,
                new TokenCallback() {
                    public void onSuccess(Token token) {
                        try {
                            // getTokenList().addToList(token);
                            Log.e("Token Json", "27th March::-" + token);
                            final Map<String, Object> chargeParams = new HashMap<String, Object>();
                            chargeParams.put("amount", 999);
                            chargeParams.put("currency", "usd");
                            chargeParams.put("card", token.getId());
                            // chargeParams.put("captured", false);
                            com.stripe.Stripe.apiKey = "sk.. your key";
                            // Charge charge = Charge.create(chargeParams);
                            // Charge ch = Charge.retrieve(charge.getId());
                            // // Used it here for demonstration
                            // ch.capture();
                            // Charge.create(chargeParams);
                            new AsyncTask<Void, Void, Void>() {

                                Charge charge;

                                @Override
                                protected Void doInBackground(
                                        Void... params) {
                                    try {
                                        com.stripe.Stripe.apiKey = "sk_your key";
                                        charge = Charge
                                                .create(chargeParams);
                                    } catch (Exception e) {
                                        // TODO Auto-generated catch block
                                        e.printStackTrace();
                                        // showAlert("Exception while charging the card!",
                                        // e.getLocalizedMessage());
                                    }
                                    return null;
                                }

                                protected void onPostExecute(Void result) {
                                    Toast.makeText(
                                            StripePaymentActivity.this,
                                            "Card Charged : "
                                                    + charge.getCreated()
                                                    + "\nPaid : "
                                                    + charge.getPaid(),
                                            Toast.LENGTH_LONG).show();
                                };

                            }.execute();
                            final Map<String, Object> chargeParams1 = new HashMap<String, Object>();
                            chargeParams1.put("amount", 999);
                            chargeParams1.put("currency", "usd");
                            chargeParams1.put("card", token.getId());
                            chargeParams1.put("captured", false);
                            com.stripe.Stripe.apiKey = "sk_your key";
                            Charge charge1 = Charge.create(chargeParams1);
                            com.stripe.Stripe.apiKey = "sk_your key";
                            Charge ch2 = Charge.retrieve(charge1.getId()); // Use
                                                                            // saved
                                                                            // charged
                                                                            // Id
                                                                            // instead
                                                                            // of
                                                                            // charge.getId()
                                                                            // Used
                                                                            // it
                                                                            // here
                                                                            // for
                                                                            // demonstration
                            ch2.capture();
                            com.stripe.Stripe.apiKey = "sk_your key";

                            // Customer Parameters HashMap
                            Map<String, Object> customerParams = new HashMap<String, Object>();
                            customerParams
                                    .put("description",
                                            com.essexpass.Global
                                                    .getPreferenceString(
                                                            getApplicationContext(),
                                                            "email", ""));
                            customerParams.put("card", token.getId()); // Obtained
                                                                        // in
                                                                        // onSuccess()
                                                                        // method
                                                                        // of
                                                                        // TokenCallback
                                                                        // while
                                                                        // creating
                                                                        // token
                                                                        // above

                            // Create a Customer
                            Customer cust = Customer.create(customerParams);
                            com.stripe.Stripe.apiKey = "sk_your key";

                            // Retrieve saved customer ID from database
                            // String cust_id = getSavedCustomerId();
                            // //getSavedCustomerId() method should retrieve
                            // saved customer Id from db

                            // Charge Parameters HashMap
                            final Map<String, Object> chargeParams2 = new HashMap<String, Object>();
                            chargeParams2.put("amount", 999);
                            chargeParams2.put("currency", "usd");
                            chargeParams2.put(
                                    "customer",
                                    com.essexpass.Global
                                            .getPreferenceString(
                                                    getApplicationContext(),
                                                    "email", "")); // Use
                                                                    // customer
                                                                    // instead
                                                                    // of
                                                                    // card

                            Charge.create(chargeParams2);
                        } catch (AuthenticationException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        } catch (InvalidRequestException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        } catch (APIConnectionException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        } catch (CardException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        } catch (APIException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }
                        finishProgress();
                        // Now Call The Services for the and generate New
                        // Member Id
                        GetUserPassDeal();
                    }

                    public void onError(Exception error) {
                        handleError(error.getLocalizedMessage());
                        finishProgress();
                    }
                });
    } else if (!card.validateNumber()) {
        handleError("The card number that you entered is invalid");
    } else if (!card.validateExpiryDate()) {
        handleError("The expiration date that you entered is invalid");
    } else if (!card.validateCVC()) {
        handleError("The CVC code that you entered is invalid");
    } else {
        handleError("The card details that you entered are invalid");
    }
}

private void startProgress() {
    progressFragment.show(getSupportFragmentManager(), "progress");
}

private void finishProgress() {
    progressFragment.dismiss();

}

private void handleError(String error) {
    ErrorDialogFragment fragment = ErrorDialogFragment.newInstance(
            R.string.validationErrors, error);
    fragment.show(getFragmentManager(), "error");
}
公共类StripePaymentActivity扩展了FragmentActivity{
/*
*将此更改为可发布密钥。
* 
*您可以在此处获取您的钥匙:https://manage.stripe.com/account/apikeys
*/
//公共静态最终字符串可发布_键=
//“pk_测试_Tw0HyQcWAVM9R5dBdiiS90X9”;客户端密钥
public static final String PUBLISHABLE_KEY=“your KEY”;
私有ProgressDialogFragment progressFragment;
字符串[]id,memberId,userEmail,endDate;
对话;
@SuppressLint(“新API”)
@TargetApi(构建版本代码姜饼)
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.payment_活动);
dialog=新建对话框(StripePaymentActivity.this);
如果(android.os.Build.VERSION.SDK_INT>9){
StrictMode.ThreadPolicy policy=新建StrictMode.ThreadPolicy.Builder()
.permitAll().build();
StrictMode.setThreadPolicy(策略);
}
progressFragment=ProgressDialogFragment
.newInstance(R.string.progressMessage);
}
公共作废储蓄信用卡(付款单){
卡片=新卡(form.getCardNumber(),form.getExpMonth(),
form.getExpYear(),form.getCvc());
Log.e(“卡”,“3月27日::-”+卡);
布尔验证=card.validateCard();
Log.e(“验证”,“3月27日::-”+验证);
如果(验证){
startProgress();
新条带().createToken(卡,可发布的密钥,
新令牌回调(){
成功时公共无效(令牌){
试一试{
//getTokenList().addToList(令牌);
Log.e(“令牌Json”,“3月27日::-”+令牌);
最终映射chargeParams=新HashMap();
chargeParams.put(“金额”,999);
chargeParams.put(“货币”、“美元”);
chargeParams.put(“卡”,token.getId());
//chargeParams.put(“捕获”,假);
com.stripe.stripe.apiKey=“sk..your key”;
//Charge=Charge.create(chargeParams);
//Charge ch=Charge.retrieve(Charge.getId());
////在这里使用它进行演示
//捕获();
//Charge.create(chargeParams);
新建异步任务(){
收费;
@凌驾
受保护的空doInBackground(
无效…参数){
试一试{
com.stripe.stripe.apiKey=“使用您的密钥”;
费用=费用
.创建(chargeParams);
}捕获(例外e){
//TODO自动生成的捕捉块
e、 printStackTrace();
//showAlert(“为卡充电时出现异常!”,
//e.getLocalizedMessage());
}
返回null;
}
受保护的void onPostExecute(void结果){
Toast.makeText(
StripePaymentActivity.this,
“刷卡收费:”
+charge.getCreated()
+“\n ID:”
+charge.getPaid(),
Toast.LENGTH_LONG).show();
};
}.execute();
最终映射chargeParams1=新HashMap();
押记参数1.put(“金额”,999);
押记参数1.卖出(“货币”、“美元”);
chargeParams1.put(“卡”,token.getId());
chargeParams1.put(“捕获”,假);
com.stripe.stripe.apiKey=“使用您的密钥”;
Charge charge1=Charge.create(chargeParams1);
com.stripe.stripe.apiKey=“使用您的密钥”;
Charge ch2=Charge.retrieve(charge1.getId());//使用
//拯救
//充电
//身份证
//反而
//的
//charge.getId()
//使用
//它
//这里
//为了
//示范
ch2.capture();
com.stripe.stripe.apiKey
public class StripePaymentActivity extends FragmentActivity {

/*
 * Change this to your publishable key.
 * 
 * You can get your key here: https://manage.stripe.com/account/apikeys
 */
// public static final String PUBLISHABLE_KEY =
// "pk_test_Tw0HyQcWAVM9R5dBdiiS90X9"; Client Key

public static final String PUBLISHABLE_KEY = "your key";
private ProgressDialogFragment progressFragment;
String[] id, memberId, userEmail, endDate;
Dialog dialog;

@SuppressLint("NewApi")
@TargetApi(Build.VERSION_CODES.GINGERBREAD)
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.payment_activity);
    dialog = new Dialog(StripePaymentActivity.this);
    if (android.os.Build.VERSION.SDK_INT > 9) {
        StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()
                .permitAll().build();
        StrictMode.setThreadPolicy(policy);
    }
    progressFragment = ProgressDialogFragment
            .newInstance(R.string.progressMessage);
}

public void saveCreditCard(PaymentForm form) {

    Card card = new Card(form.getCardNumber(), form.getExpMonth(),
            form.getExpYear(), form.getCvc());
    Log.e("card ", "27th March ::- " + card);
    boolean validation = card.validateCard();
    Log.e("Validation", "27th March::-" + validation);
    if (validation) {
        startProgress();
        new Stripe().createToken(card, PUBLISHABLE_KEY,
                new TokenCallback() {
                    public void onSuccess(Token token) {
                        try {
                            // getTokenList().addToList(token);
                            Log.e("Token Json", "27th March::-" + token);
                            final Map<String, Object> chargeParams = new HashMap<String, Object>();
                            chargeParams.put("amount", 999);
                            chargeParams.put("currency", "usd");
                            chargeParams.put("card", token.getId());
                            // chargeParams.put("captured", false);
                            com.stripe.Stripe.apiKey = "sk.. your key";
                            // Charge charge = Charge.create(chargeParams);
                            // Charge ch = Charge.retrieve(charge.getId());
                            // // Used it here for demonstration
                            // ch.capture();
                            // Charge.create(chargeParams);
                            new AsyncTask<Void, Void, Void>() {

                                Charge charge;

                                @Override
                                protected Void doInBackground(
                                        Void... params) {
                                    try {
                                        com.stripe.Stripe.apiKey = "sk_your key";
                                        charge = Charge
                                                .create(chargeParams);
                                    } catch (Exception e) {
                                        // TODO Auto-generated catch block
                                        e.printStackTrace();
                                        // showAlert("Exception while charging the card!",
                                        // e.getLocalizedMessage());
                                    }
                                    return null;
                                }

                                protected void onPostExecute(Void result) {
                                    Toast.makeText(
                                            StripePaymentActivity.this,
                                            "Card Charged : "
                                                    + charge.getCreated()
                                                    + "\nPaid : "
                                                    + charge.getPaid(),
                                            Toast.LENGTH_LONG).show();
                                };

                            }.execute();
                            final Map<String, Object> chargeParams1 = new HashMap<String, Object>();
                            chargeParams1.put("amount", 999);
                            chargeParams1.put("currency", "usd");
                            chargeParams1.put("card", token.getId());
                            chargeParams1.put("captured", false);
                            com.stripe.Stripe.apiKey = "sk_your key";
                            Charge charge1 = Charge.create(chargeParams1);
                            com.stripe.Stripe.apiKey = "sk_your key";
                            Charge ch2 = Charge.retrieve(charge1.getId()); // Use
                                                                            // saved
                                                                            // charged
                                                                            // Id
                                                                            // instead
                                                                            // of
                                                                            // charge.getId()
                                                                            // Used
                                                                            // it
                                                                            // here
                                                                            // for
                                                                            // demonstration
                            ch2.capture();
                            com.stripe.Stripe.apiKey = "sk_your key";

                            // Customer Parameters HashMap
                            Map<String, Object> customerParams = new HashMap<String, Object>();
                            customerParams
                                    .put("description",
                                            com.essexpass.Global
                                                    .getPreferenceString(
                                                            getApplicationContext(),
                                                            "email", ""));
                            customerParams.put("card", token.getId()); // Obtained
                                                                        // in
                                                                        // onSuccess()
                                                                        // method
                                                                        // of
                                                                        // TokenCallback
                                                                        // while
                                                                        // creating
                                                                        // token
                                                                        // above

                            // Create a Customer
                            Customer cust = Customer.create(customerParams);
                            com.stripe.Stripe.apiKey = "sk_your key";

                            // Retrieve saved customer ID from database
                            // String cust_id = getSavedCustomerId();
                            // //getSavedCustomerId() method should retrieve
                            // saved customer Id from db

                            // Charge Parameters HashMap
                            final Map<String, Object> chargeParams2 = new HashMap<String, Object>();
                            chargeParams2.put("amount", 999);
                            chargeParams2.put("currency", "usd");
                            chargeParams2.put(
                                    "customer",
                                    com.essexpass.Global
                                            .getPreferenceString(
                                                    getApplicationContext(),
                                                    "email", "")); // Use
                                                                    // customer
                                                                    // instead
                                                                    // of
                                                                    // card

                            Charge.create(chargeParams2);
                        } catch (AuthenticationException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        } catch (InvalidRequestException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        } catch (APIConnectionException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        } catch (CardException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        } catch (APIException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }
                        finishProgress();
                        // Now Call The Services for the and generate New
                        // Member Id
                        GetUserPassDeal();
                    }

                    public void onError(Exception error) {
                        handleError(error.getLocalizedMessage());
                        finishProgress();
                    }
                });
    } else if (!card.validateNumber()) {
        handleError("The card number that you entered is invalid");
    } else if (!card.validateExpiryDate()) {
        handleError("The expiration date that you entered is invalid");
    } else if (!card.validateCVC()) {
        handleError("The CVC code that you entered is invalid");
    } else {
        handleError("The card details that you entered are invalid");
    }
}

private void startProgress() {
    progressFragment.show(getSupportFragmentManager(), "progress");
}

private void finishProgress() {
    progressFragment.dismiss();

}

private void handleError(String error) {
    ErrorDialogFragment fragment = ErrorDialogFragment.newInstance(
            R.string.validationErrors, error);
    fragment.show(getFragmentManager(), "error");
}