gpt4 book ai didi

java - 关于Braintree支付网关与Java的集成

转载 作者:行者123 更新时间:2023-11-30 07:59:04 28 4
gpt4 key购买 nike

我是支付网关集成的新手。我需要将 Braintree 支付网关 与 JSF 应用程序集成。有人可以向我展示 java 类和示例支付页面的基本示例吗?我看到了一些客户端Token是如何生成的。我写了一个示例类和页面,如下所示,但我无法制作,因为我不明白。

页面

<form id="checkout" method="post" action="/checkout">
<div id="payment-form"></div>
<input type="submit" value="Pay $15">
</form>

<script src="https://js.braintreegateway.com/v2/braintree.js"></script>
<script>
// We generated a client token for you so you can test out this code
// immediately. In a production-ready integration, you will need to
// generate a client token on your server (see section below).
var clientToken = "sZWQiOmZhbHNlLCJtZXJjaGFudElkIjoiMzQ4cGs5Y2dmM2JneXcyYiIsInZlbm1vIjoib2ZmIn0=";

braintree.setup(clientToken, "dropin", {
container : "payment-form"
});

</script>

import spark.Request;
import spark.Response;
import spark.Route;

import com.braintreegateway.BraintreeGateway;
import com.braintreegateway.Environment;

public class BrainTreeController {
private static BraintreeGateway gateway = new BraintreeGateway(
Environment.SANDBOX,
"your_merchant_id",
"your_public_key",
"your_private_key"
);
post(new Route("/client_token") {
@Override
public Object handle(Request request, Response response) {
return gateway.clientToken().generate();
}
});
}

我在帖子中收到错误

Syntax error on token "post", @ expected before this token

最佳答案

Braintree Java SDK Implementation 中检查以下示例.根据要求将其集成到您的项目中:

public class BrainTreeImplementation {

private static Logger logger = Logger.getLogger(BrainTreeImplementation.class.getName());

// Below are the Braintree sandbox credentials
private static BraintreeGateway gateway = null;
private static String publicKey = "YOUR_PUBLIC_KEY";
private static String privateKey = "YOUR_PRIVATE_KEY";
private static String merchantId= "YOUR_MERCHANT_ID";

public static void main(String[] args) {
// Initialize Braintree Connection
gateway = connectBraintreeGateway();
braintreeProcessing();
}

public static void braintreeProcessing() {

System.out.println(" ----- BrainTree Implementation Starts --- ");

// Generate client Token
String clientToken = generateClientToken();
System.out.println(" Client Token : " +clientToken);

// Receive payment method nonce
String nonceFromTheClient = receivePaymentMethodNonce();

// Do payment transactions
BigDecimal amount = new BigDecimal("5.10");
doPaymentTransaction(nonceFromTheClient, amount);
}

// Connect to Braintree Gateway.
public static BraintreeGateway connectBraintreeGateway() {
BraintreeGateway braintreeGateway = new BraintreeGateway(
Environment.SANDBOX, merchantId, publicKey, privateKey);
return braintreeGateway;
}

// Make an endpoint which return client token.
public static String generateClientToken() {
// client token will be generated at server side and return to client
String clientToken = gateway.clientToken().generate();
return clientToken;
}

// Make an endpoint which receive payment method nonce from client and do payment.
public static String receivePaymentMethodNonce() {
String nonceFromTheClient = "fake-valid-mastercard-nonce";
return nonceFromTheClient;
}

// Make payment
public void String doPaymentTransaction(String paymentMethodNonce, BigDecimal amount) {

TransactionRequest request = new TransactionRequest();
request.amount(amount);
request.paymentMethodNonce(paymentMethodNonce);

CustomerRequest customerRequest = request.customer();
customerRequest.email("cpatel@gmail.com");
customerRequest.firstName("Chirag");
customerRequest.lastName("Patel");

TransactionOptionsRequest options = request.options();
options.submitForSettlement(true);

// Done the transaction request
options.done();

// Create transaction ...
Result<Transaction> result = gateway.transaction().sale(request);
boolean isSuccess = result.isSuccess();

if (isSuccess) {
Transaction transaction = result.getTarget();
displayTransactionInfo(transaction);
} else {
ValidationErrors errors = result.getErrors();
validationError(errors);
}
}

private static void displayTransactionInfo(Transaction transaction) {
System.out.println(" ------ Transaction Info ------ ");
System.out.println(" Transaction Id : " +transaction.getId());
System.out.println(" Processor Response Text : " +transaction.getProcessorResponseText());
}

private static void validationError(ValidationErrors errors) {
List<ValidationError> error = errors.getAllDeepValidationErrors();
for (ValidationError er : error) {
System.out.println(" error code : " + er.getCode());
System.out.println(" error message : " + er.getMessage());
}
}
}

关于java - 关于Braintree支付网关与Java的集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39716674/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com