androideclipse中的条带集成
我有一个Android中条带集成的演示。 我有问题的是生成令牌id,但以后怎么付款的金额要少到账户上 我遵循stripe官方网站的代码: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
现在我已经解决了这个问题
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");
}