Stripe.apiKey无法在Android中解析

amrnrhlw  于 2023-05-12  发布在  Android
关注(0)|答案(4)|浏览(147)

我在我的Android应用程序中使用Stripe作为支付处理器,并尝试按照文档所述向卡收费:https://stripe.com/docs/charges
我的问题是它不能解析Stripe.apiKeycan not resolve symbol apiKey
我从文档中实现的代码:

// Set your secret key: remember to change this to your live secret key in production
// See your keys here: https://dashboard.stripe.com/account/apikeys
Stripe.apiKey = "sk_test_********************";//this is where i hit a wall

// Token is created using Stripe.js or Checkout!
// Get the payment token submitted by the form:
String token = request.getParameter("stripeToken");

// Charge the user's card:
Map<String, Object> params = new HashMap<String, Object>();
params.put("amount", 1000);
params.put("currency", "usd");
params.put("description", "Example charge");
params.put("source", token);

Charge charge = Charge.create(params);

我还在文件的顶部导入了import com.stripe.android.*;
在我的Gradle文件中,我导入了Stripe库:

compile 'com.stripe:stripe-android:2.0.2'

为什么Android无法解析Stripe.apiKey

qq24tv8q

qq24tv8q1#

您提供的代码是用于使用令牌创建收费的 * 服务器端 * Java代码。它不适合在Android应用程序中使用。
Stripe的支付流程分为两个步骤:

  • 在客户端,在前端代码中,您收集并标记用户的支付信息(对于Web应用程序使用CheckoutStripe.js,或者对于原生移动的应用程序使用iOS/Android SDK)
  • 在服务器端,在后端代码中,您可以在API请求中使用生成的令牌,例如创建费用或客户对象。

第一步使用可发布的API密钥(pk_...)完成。第二步使用您的秘密API密钥(sk_...)完成。
您绝不能与前端代码共享秘密API密钥,否则攻击者可能会检索它并使用它来代表您发出API请求。

fzsnzjdm

fzsnzjdm2#

要求解Stripe.apikey cannot resolve,请将Stripe.apiKey更改为

com.stripe.Stripe.apiKey = "Your secret";
lrpiutwd

lrpiutwd3#

尝试:Stripe stripe = new Stripe("pk_test_6pRNASCoBOKtIshFeQd4XMUh");
欲了解更多信息,请查看:https://stripe.com/docs/mobile/android#credit-card-form

pb3s4cty

pb3s4cty4#

在gradle文件中导入此依赖项。

implementation 'com.stripe:stripe-java:22.18.0'

相关问题