Creates a single use token that wraps the details of a credit card. This token can be used in place of a credit card dictionary with any API method.
curl https://api.stripe.com/v1/tokens \
-u STRIPE_SECRET_KEY: \
-d card[number]=4242424242424242 \
-d card[exp_month]=12 \
-d card[exp_year]=2019 \
-d card[cvc]=123
-X POST
Dim rest As New Chilkat.Rest
Dim success As Boolean
' URL: https://api.stripe.com/v1/tokens
Dim bTls As Boolean = True
Dim port As Integer = 443
Dim bAutoReconnect As Boolean = True
success = rest.Connect("api.stripe.com",port,bTls,bAutoReconnect)
If (success <> True) Then
Debug.WriteLine("ConnectFailReason: " & rest.ConnectFailReason)
Debug.WriteLine(rest.LastErrorText)
Exit Sub
End If
rest.SetAuthBasic("STRIPE_SECRET_KEY","")
rest.AddQueryParam("card[number]","4242424242424242")
rest.AddQueryParam("card[exp_month]","12")
rest.AddQueryParam("card[exp_year]","2019")
rest.AddQueryParam("card[cvc]","123")
Dim strResponseBody As String = rest.FullRequestFormUrlEncoded("POST","/v1/tokens")
If (rest.LastMethodSuccess <> True) Then
Debug.WriteLine(rest.LastErrorText)
Exit Sub
End If
Dim jsonResponse As New Chilkat.JsonObject
jsonResponse.Load(strResponseBody)
Dim id As String
Dim object As String
Dim cardId As String
Dim cardObject As String
Dim cardAddress_city As Boolean
Dim cardAddress_country As Boolean
Dim cardAddress_line1 As Boolean
Dim cardAddress_line1_check As Boolean
Dim cardAddress_line2 As Boolean
Dim cardAddress_state As Boolean
Dim cardAddress_zip As Boolean
Dim cardAddress_zip_check As Boolean
Dim cardBrand As String
Dim cardCountry As String
Dim cardCvc_check As Boolean
Dim cardDynamic_last4 As Boolean
Dim cardExp_month As Integer
Dim cardExp_year As Integer
Dim cardFingerprint As String
Dim cardFunding As String
Dim cardLast4 As String
Dim cardName As Boolean
Dim cardTokenization_method As Boolean
Dim client_ip As Boolean
Dim created As Integer
Dim livemode As Boolean
Dim type As String
Dim used As Boolean
id = jsonResponse.StringOf("id")
object = jsonResponse.StringOf("object")
cardId = jsonResponse.StringOf("card.id")
cardObject = jsonResponse.StringOf("card.object")
cardAddress_city = jsonResponse.IsNullOf("card.address_city")
cardAddress_country = jsonResponse.IsNullOf("card.address_country")
cardAddress_line1 = jsonResponse.IsNullOf("card.address_line1")
cardAddress_line1_check = jsonResponse.IsNullOf("card.address_line1_check")
cardAddress_line2 = jsonResponse.IsNullOf("card.address_line2")
cardAddress_state = jsonResponse.IsNullOf("card.address_state")
cardAddress_zip = jsonResponse.IsNullOf("card.address_zip")
cardAddress_zip_check = jsonResponse.IsNullOf("card.address_zip_check")
cardBrand = jsonResponse.StringOf("card.brand")
cardCountry = jsonResponse.StringOf("card.country")
cardCvc_check = jsonResponse.IsNullOf("card.cvc_check")
cardDynamic_last4 = jsonResponse.IsNullOf("card.dynamic_last4")
cardExp_month = jsonResponse.IntOf("card.exp_month")
cardExp_year = jsonResponse.IntOf("card.exp_year")
cardFingerprint = jsonResponse.StringOf("card.fingerprint")
cardFunding = jsonResponse.StringOf("card.funding")
cardLast4 = jsonResponse.StringOf("card.last4")
cardName = jsonResponse.IsNullOf("card.name")
cardTokenization_method = jsonResponse.IsNullOf("card.tokenization_method")
client_ip = jsonResponse.IsNullOf("client_ip")
created = jsonResponse.IntOf("created")
livemode = jsonResponse.BoolOf("livemode")
type = jsonResponse.StringOf("type")
used = jsonResponse.BoolOf("used")
{
"id": "tok_1BnETKGswQrCoh0XIvDUT3mu",
"object": "token",
"card": {
"id": "card_1BnETKGswQrCoh0XGXCaLCT2",
"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",
"cvc_check": null,
"dynamic_last4": null,
"exp_month": 8,
"exp_year": 2019,
"fingerprint": "F9mANtIt1TaukpRJ",
"funding": "credit",
"last4": "4242",
"metadata": {},
"name": null,
"tokenization_method": null
},
"client_ip": null,
"created": 1516662782,
"livemode": false,
"type": "card",
"used": false
}