Android PaymentActivity.EXTRA_付款无效
我正在开发一个安卓应用程序,我试图创建一个贝宝按钮来获取一些感谢金:),因为有规定,我不使用捐款。无论如何,我尝试使用PayPal Android SDK(),当我使用ENV_NONE、ENV_SANDBOX、ENV_LIVE:PaymentActivity.EXTRA_付款无效时,我总是在日志中收到一个错误 我使用以下代码Android PaymentActivity.EXTRA_付款无效,android,paypal,Android,Paypal,我正在开发一个安卓应用程序,我试图创建一个贝宝按钮来获取一些感谢金:),因为有规定,我不使用捐款。无论如何,我尝试使用PayPal Android SDK(),当我使用ENV_NONE、ENV_SANDBOX、ENV_LIVE:PaymentActivity.EXTRA_付款无效时,我总是在日志中收到一个错误 我使用以下代码 protected void onCreate(Bundle savedInstanceState) { ... Intent intent = new Intent(th
protected void onCreate(Bundle savedInstanceState) {
...
Intent intent = new Intent(this, PayPalService.class);
intent.putExtra(PaymentActivity.EXTRA_PAYPAL_ENVIRONMENT, CONFIG_ENVIRONMENT);
intent.putExtra(PaymentActivity.EXTRA_CLIENT_ID, CONFIG_CLIENT_ID);
intent.putExtra(PaymentActivity.EXTRA_RECEIVER_EMAIL, CONFIG_RECEIVER_EMAIL);
startService(intent);
initLibrary();
showPayPalButton();
}
public void initLibrary() {
PayPal pp = PayPal.getInstance();
if (pp == null) { // Test to see if the library is already initialized
// This main initialization call takes your Context, AppID, and target server
pp = PayPal.initWithAppID(this,"<mycode/deleted from post>", PayPal.ENV_NONE);
// Required settings:
// Set the language for the library
pp.setLanguage("en_US");
// Some Optional settings:
// Sets who pays any transaction fees. Possible values are:
// FEEPAYER_SENDER, FEEPAYER_PRIMARYRECEIVER, FEEPAYER_EACHRECEIVER, and FEEPAYER_SECONDARYONLY
pp.setFeesPayer(PayPal.FEEPAYER_EACHRECEIVER);
// true = transaction requires shipping
pp.setShippingEnabled(true);
_paypalLibraryInit = true;
}
}
private void showPayPalButton() {
// Generate the PayPal checkout button and save it for later use
PayPal pp = PayPal.getInstance();
launchPayPalButton = pp.getCheckoutButton(this, PayPal.BUTTON_278x43, CheckoutButton.TEXT_PAY);
// The OnClick listener for the checkout button
launchPayPalButton.setOnClickListener(this);
// Add the listener to the layout
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams (LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
params.bottomMargin = 10;
launchPayPalButton.setLayoutParams(params);
launchPayPalButton.setId(PAYPAL_BUTTON_ID);
((LinearLayout) findViewById(R.id.insert_expense_layout)).addView(launchPayPalButton);
((LinearLayout) findViewById(R.id.insert_expense_layout)).setGravity(Gravity.CENTER_HORIZONTAL);
}
public void PayPalButtonClick(View arg0) {
// Create a basic PayPal payment
PayPalPayment payment = new PayPalPayment();
// Set the currency type
payment.setCurrencyType("USD");
// Set the recipient for the payment (can be a phone number)
// Set the payment amount, excluding tax and shipping costs
payment.setSubtotal(new BigDecimal(1));
Intent intent = new Intent(this, PaymentActivity.class);
intent.putExtra(PaymentActivity.EXTRA_CLIENT_ID, CONFIG_CLIENT_ID);
intent.putExtra(PaymentActivity.EXTRA_RECEIVER_EMAIL, CONFIG_RECEIVER_EMAIL);
//intent.putExtra(PaymentActivity.EXTRA_PAYER_ID, ""); //with this line uncommented it also fails
intent.putExtra(PaymentActivity.EXTRA_PAYMENT, payment);
startActivityForResult(intent, 0);
}
public void PayPalActivityResult(int requestCode, int resultCode, Intent intent) {
....
}
@Override
public void onClick(View v) {
PayPalButtonClick(v);
}
创建时受保护的void(Bundle savedInstanceState){
...
Intent Intent=新Intent(这个,PayPalService.class);
intent.putExtra(PaymentActivity.EXTRA\u PAYPAL\u环境,CONFIG\u环境);
intent.putExtra(PaymentActivity.EXTRA\u CLIENT\u ID,CONFIG\u CLIENT\u ID);
intent.putExtra(PaymentActivity.EXTRA\u RECEIVER\u EMAIL,CONFIG\u RECEIVER\u EMAIL);
startService(意向);
initLibrary();
showPayPalButton();
}
公共图书馆(){
PayPal pp=PayPal.getInstance();
if(pp==null){//测试库是否已经初始化
//此主初始化调用接受您的上下文、AppID和目标服务器
pp=PayPal.initWithAppID(此“”,PayPal.ENV_NONE);
//所需设置:
//设置库的语言
pp.setLanguage(“en_US”);
//一些可选设置:
//设置支付任何交易费用的人。可能的值为:
//付款人发送人、付款人主要接收人、付款人各接收人、付款人次要接收人
pp.setFeesPayer(PayPal.FEEPAYER\u每个接收者);
//true=事务需要发送
pp.setShippingEnabled(真);
_paypalLibraryInit=true;
}
}
私有void showPayPalButton(){
//生成PayPal结帐按钮并将其保存以供以后使用
PayPal pp=PayPal.getInstance();
launchPayPalButton=pp.getCheckButton(这是PayPal.BUTTON\u 278x43,CheckButton.TEXT\u PAY);
//签出按钮的OnClick侦听器
launchPayPalButton.setOnClickListener(此);
//将侦听器添加到布局中
RelativeLayout.LayoutParams params=新的RelativeLayout.LayoutParams(LayoutParams.WRAP_内容,
LayoutParams.WRAP_内容);
params.addRule(RelativeLayout.ALIGN\u PARENT\u BOTTOM);
参数bottomMargin=10;
启动PayPalButton.setLayoutParams(参数);
启动PayPalButton.setId(PAYPAL_按钮_ID);
((线性布局)findViewById(R.id.insert_expense_layout)).addView(launchPayPalButton);
((线性布局)findViewById(R.id.insert\u expense\u layout)).setGravity(重心、中心、水平);
}
公共无效PayPalButtonClick(视图arg0){
//创建一个基本的贝宝支付
PayPalPayment付款=新PayPalPayment();
//设置货币类型
付款。设置货币类型(“美元”);
//设置付款的收件人(可以是电话号码)
//设置付款金额,不包括税费和运费
付款。设置总额(新的大小数(1));
意向意向=新意向(此,PaymentActivity.class);
intent.putExtra(PaymentActivity.EXTRA\u CLIENT\u ID,CONFIG\u CLIENT\u ID);
intent.putExtra(PaymentActivity.EXTRA\u RECEIVER\u EMAIL,CONFIG\u RECEIVER\u EMAIL);
//intent.putExtra(PaymentActivity.EXTRA\u PAYER\u ID,“”;//此行未注释时,也会失败
意向。额外支付(PaymentActivity.EXTRA_PAYMENT,PAYMENT);
startActivityForResult(意向,0);
}
public void PayPalActivityResult(int请求代码、int结果代码、意图){
....
}
@凌驾
公共void onClick(视图v){
PayPalButtonClick(v);
}
我没有主意了,我还没有找到任何有用的文件
提前谢谢你的帮助 请检查您是否导入了正确的付款类别:
com.paypal.android.sdk.payments.PayPalPayment
显示了应如何实例化此类:
PayPalPayment thingToBuy=新的PayPalPayment(新的大十进制(“1.75”),“美元”,“时髦牛仔裤”)代码>谢谢,伙计!paypal.android.MEP.PayPalPayment以前是导入的,一旦我更改了它,我就可以进入paypal的页面。谢谢!