- Платежный шлюз Stripe (JavaScript):
Stripe — популярный платежный шлюз, обеспечивающий простую интеграцию для обработки платежей. Вот пример того, как вы можете использовать Stripe для реализации покупок игровых пропусков:
// Include Stripe.js library
<script src="https://js.stripe.com/v3/"></script>
// Client-side code
var stripe = Stripe('YOUR_STRIPE_PUBLIC_KEY');
var elements = stripe.elements();
var card = elements.create('card');
card.mount('#card-element');
card.addEventListener('change', function(event) {
var displayError = document.getElementById('card-errors');
if (event.error) {
displayError.textContent = event.error.message;
} else {
displayError.textContent = '';
}
});
var form = document.getElementById('payment-form');
form.addEventListener('submit', function(event) {
event.preventDefault();
stripe.createToken(card).then(function(result) {
if (result.error) {
var errorElement = document.getElementById('card-errors');
errorElement.textContent = result.error.message;
} else {
// Send the token to your server to process the payment
stripeTokenHandler(result.token);
}
});
});
// Server-side code
var stripe = require('stripe')('YOUR_STRIPE_SECRET_KEY');
app.post('/purchase', function(req, res) {
stripe.charges.create(
{
amount: 1999, // Amount in cents
currency: 'usd',
source: req.body.stripeToken,
description: 'Game Pass Purchase'
},
function(err, charge) {
if (err) {
// Handle error
} else {
// Payment successful
}
}
);
});
- PayPal Checkout (JavaScript).
PayPal Checkout – еще один популярный платежный шлюз, обеспечивающий удобство оплаты. Вот пример того, как вы можете использовать PayPal Checkout для покупки игровых пропусков:
<script src="https://www.paypal.com/sdk/js?client-id=YOUR_CLIENT_ID"></script>
<div id="paypal-button-container"></div>
<script>
paypal.Buttons({
createOrder: function(data, actions) {
return actions.order.create({
purchase_units: [
{
amount: {
value: '19.99' // Amount in USD
},
description: 'Game Pass Purchase'
}
]
});
},
onApprove: function(data, actions) {
return actions.order.capture().then(function(details) {
// Payment successful
});
}
}).render('#paypal-button-container');
</script>
- Google Pay API (Android).
Если вы разрабатываете функцию покупки игрового пропуска в приложении Android, вы можете интегрировать Google Pay API для обработки платежей. Вот пример использования Google Pay API:
// Add dependency to your build.gradle file
implementation 'com.google.android.gms:play-services-wallet:17.0.0'
// Create a Google Pay payment request
PaymentDataRequest request = PaymentDataRequest.newBuilder()
.setTransactionInfo(
TransactionInfo.newBuilder()
.setTotalPriceStatus(WalletConstants.TOTAL_PRICE_STATUS_FINAL)
.setTotalPrice("19.99") // Amount in the currency's smallest denomination
.setCurrencyCode("USD")
.build())
.build();
// Set up Google Pay client
PaymentsClient paymentsClient = Wallet.getPaymentsClient(this,
new Wallet.WalletOptions.Builder()
.setEnvironment(WalletConstants.ENVIRONMENT_TEST)
.build());
// Request payment
AutoResolveHelper.resolveTask(
paymentsClient.loadPaymentData(request),
this,
LOAD_PAYMENT_DATA_REQUEST_CODE);
- Apple Pay (iOS).
Если вы разрабатываете функцию покупки игрового пропуска в приложении iOS, вы можете интегрировать Apple Pay для обработки платежей. Вот пример использования Apple Pay:
// Import PassKit
import PassKit
// Set up payment request
let request = PKPaymentRequest()
request.merchantIdentifier = "YOUR_MERCHANT_IDENTIFIER"
request.countryCode = "US"
request.currencyCode = "USD"
request.supportedNetworks = [.visa, .masterCard, .amex]
request.merchantCapabilities = .capability3DS
request.paymentSummaryItems = [
PKPaymentSummaryItem(label: "Game Pass", amount: NSDecimalNumber(string: "19.99"))
]
// Present Apple Pay sheet
let applePayController = PKPaymentAuthorizationViewController(paymentRequest: request)
if let controller = applePayController {
controller.delegate = self
present(controller, animated: true, completion: nil)
}
// Handle payment authorization
extension ViewController: PKPaymentAuthorizationViewControllerDelegate {
func paymentAuthorizationViewControllerDidFinish(_ controller: PKPaymentAuthorizationViewController) {
dismiss(animated: true, completion: nil)
}
func paymentAuthorizationViewController(_ controller: PKPaymentAuthorizationViewController, didAuthorizePayment payment: PKPayment, completion: @escaping (PKPaymentAuthorizationResult) -> Void) {
// Process payment
completion(PKPaymentAuthorizationResult(status: .success, errors: nil))
}
}