package com.pkm;
import common.HttpJavaClient;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
/**
* @author PRITOM
*/
public class StripeCreatePayment {
static final String API_KEY = "sk_test_eXF5nNyXat29WjWrqHK92rcj";
static final String TOKEN_URL = "https://api.stripe.com/v1/tokens";
static final String PAYMENT_URL = "https://api.stripe.com/v1/charges";
public static void main(String[] args) {
Map params = new HashMap();
params.put("amount", "210");
params.put("currency", "aud");
params.put("source", createToken());
params.put("description", (new Date()).toString());
String paramString = HttpJavaClient.buildParameters(params);
Map headers = new HashMap();
headers.put("Authorization", "Bearer " + API_KEY);
headers.put("tls", "TLSv1.2");
HttpJavaClient.Response response = HttpJavaClient.doPost(PAYMENT_URL, paramString, HttpJavaClient.Type.URL_ENCODED, headers);
HttpJavaClient.println(response);
}
static String createToken() {
Map params = new HashMap();
params.put("card[name]", "Pritom Kumar");
params.put("card[number]", "4242424242424242");
params.put("card[exp_month]", "12");
params.put("card[exp_year]", "19");
params.put("card[cvc]", "123");
String paramString = HttpJavaClient.buildParameters(params);
Map headers = new HashMap();
headers.put("Authorization", "Bearer " + API_KEY);
headers.put("tls", "TLSv1.2");
HttpJavaClient.Response response = HttpJavaClient.doPost(TOKEN_URL, paramString, HttpJavaClient.Type.URL_ENCODED, headers);
if (response.getCode() == 200) {
String token = response.getBody().substring(response.getBody().indexOf("\"id\": \"") + 7);
return token.substring(0, token.indexOf("\""));
}
return null;
}
}
"id": "ch_1BACCFFIwfarG3vBdzS2A09q",
"object": "charge",
"amount": 210,
"amount_refunded": 0,
"application": null,
"application_fee": null,
"balance_transaction": "txn_1BACCFFIwfarG3vBWUtFsX4N",
"captured": true,
"created": 1507359243,
"currency": "aud",
"customer": null,
"description": "Sat Oct 07 12:54:06 BDT 2017",
"destination": null,
"dispute": null,
"failure_code": null,
"failure_message": null,
"fraud_details": {},
"invoice": null,
"livemode": false,
"metadata": {},
"on_behalf_of": null,
"order": null,
"outcome": {
"network_status": "approved_by_network",
"reason": null,
"risk_level": "normal",
"seller_message": "Payment complete.",
"type": "authorized"
},
"paid": true,
"receipt_email": null,
"receipt_number": null,
"refunded": false,
"refunds": {
"object": "list",
"data": [],
"has_more": false,
"total_count": 0,
"url": "/v1/charges/ch_1BACCFFIwfarG3vBdzS2A09q/refunds"
},
"review": null,
"shipping": null,
"source": {
"id": "card_1BACCDFIwfarG3vBAnQYrCBR",
"object": "card",
"address_city": null,
"address_country": null,
"address_line1": null,
"address_line1_check": null,
"address_line2": null,
"address_state": null,
"address_zip": null,
"address_zip_check": null,
"brand": "Visa",
"country": "US",
"customer": null,
"cvc_check": "pass",
"dynamic_last4": null,
"exp_month": 12,
"exp_year": 2019,
"fingerprint": "CjZNbbCtG5QSnuIS",
"funding": "credit",
"last4": "4242",
"metadata": {},
"name": "Pritom Kumar",
"tokenization_method": null
},
"source_transfer": null,
"statement_descriptor": null,
"status": "succeeded",
"transfer_group": null
}