VB.NET UWP/WinRT Stripe: Attach a Source

Back to Index

Attaches a Source object to a Customer. The source must be in a chargeable state.

Documentation: https://stripe.com/docs/api/curl#attach_source

CURL Command

curl https://api.stripe.com/v1/customers/cus_CBbg9PmQ9sLbmo/sources \
   -u STRIPE_SECRET_KEY: \
   -d source=src_1BnETLGswQrCoh0X5KOorXEP \
   -X POST

VB.NET UWP/WinRT Example

Dim rest As New Chilkat.Rest
Dim success As Boolean

'  URL: https://api.stripe.com/v1/customers/cus_CBbg9PmQ9sLbmo/sources
Dim bTls As Boolean = True
Dim port As Integer = 443
Dim bAutoReconnect As Boolean = True
success = Await rest.ConnectAsync("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("source","src_1BnETLGswQrCoh0X5KOorXEP")


Dim strResponseBody As String = Await rest.FullRequestFormUrlEncodedAsync("POST","/v1/customers/cus_CBbg9PmQ9sLbmo/sources")
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 amount As Integer
Dim client_secret As String
Dim created As Integer
Dim currency As String
Dim flow As String
Dim livemode As Boolean
Dim ownerAddress As Boolean
Dim ownerEmail As String
Dim ownerName As Boolean
Dim ownerPhone As Boolean
Dim ownerVerified_address As Boolean
Dim ownerVerified_email As Boolean
Dim ownerVerified_name As Boolean
Dim ownerVerified_phone As Boolean
Dim receiverAddress As String
Dim receiverAmount_charged As Integer
Dim receiverAmount_received As Integer
Dim receiverAmount_returned As Integer
Dim receiverRefund_attributes_method As String
Dim receiverRefund_attributes_status As String
Dim statement_descriptor As Boolean
Dim status As String
Dim type As String
Dim usage As String
Dim bitcoinAddress As String
Dim bitcoinAmount As Integer
Dim bitcoinAmount_charged As Integer
Dim bitcoinAmount_received As Integer
Dim bitcoinAmount_returned As Integer
Dim bitcoinUri As String
Dim customer As String

id = jsonResponse.StringOf("id")
object = jsonResponse.StringOf("object")
amount = jsonResponse.IntOf("amount")
client_secret = jsonResponse.StringOf("client_secret")
created = jsonResponse.IntOf("created")
currency = jsonResponse.StringOf("currency")
flow = jsonResponse.StringOf("flow")
livemode = jsonResponse.BoolOf("livemode")
ownerAddress = jsonResponse.IsNullOf("owner.address")
ownerEmail = jsonResponse.StringOf("owner.email")
ownerName = jsonResponse.IsNullOf("owner.name")
ownerPhone = jsonResponse.IsNullOf("owner.phone")
ownerVerified_address = jsonResponse.IsNullOf("owner.verified_address")
ownerVerified_email = jsonResponse.IsNullOf("owner.verified_email")
ownerVerified_name = jsonResponse.IsNullOf("owner.verified_name")
ownerVerified_phone = jsonResponse.IsNullOf("owner.verified_phone")
receiverAddress = jsonResponse.StringOf("receiver.address")
receiverAmount_charged = jsonResponse.IntOf("receiver.amount_charged")
receiverAmount_received = jsonResponse.IntOf("receiver.amount_received")
receiverAmount_returned = jsonResponse.IntOf("receiver.amount_returned")
receiverRefund_attributes_method = jsonResponse.StringOf("receiver.refund_attributes_method")
receiverRefund_attributes_status = jsonResponse.StringOf("receiver.refund_attributes_status")
statement_descriptor = jsonResponse.IsNullOf("statement_descriptor")
status = jsonResponse.StringOf("status")
type = jsonResponse.StringOf("type")
usage = jsonResponse.StringOf("usage")
bitcoinAddress = jsonResponse.StringOf("bitcoin.address")
bitcoinAmount = jsonResponse.IntOf("bitcoin.amount")
bitcoinAmount_charged = jsonResponse.IntOf("bitcoin.amount_charged")
bitcoinAmount_received = jsonResponse.IntOf("bitcoin.amount_received")
bitcoinAmount_returned = jsonResponse.IntOf("bitcoin.amount_returned")
bitcoinUri = jsonResponse.StringOf("bitcoin.uri")
customer = jsonResponse.StringOf("customer")

Sample JSON Response Body

{
  "id": "src_1BnETLGswQrCoh0X5KOorXEP",
  "object": "source",
  "amount": 1000,
  "client_secret": "src_client_secret_CBbgdvc1AflN5jN0wQevA2jA",
  "created": 1516662783,
  "currency": "usd",
  "flow": "receiver",
  "livemode": false,
  "metadata": {},
  "owner": {
    "address": null,
    "email": "jenny.rosen@example.com",
    "name": null,
    "phone": null,
    "verified_address": null,
    "verified_email": null,
    "verified_name": null,
    "verified_phone": null
  },
  "receiver": {
    "address": "test_1MBhWS3uv4ynCfQXF3xQjJkzFPukr4K56N",
    "amount_charged": 0,
    "amount_received": 0,
    "amount_returned": 0,
    "refund_attributes_method": "email",
    "refund_attributes_status": "missing"
  },
  "statement_descriptor": null,
  "status": "chargeable",
  "type": "bitcoin",
  "usage": "single_use",
  "bitcoin": {
    "address": "test_1MBhWS3uv4ynCfQXF3xQjJkzFPukr4K56N",
    "amount": 2371000,
    "amount_charged": 0,
    "amount_received": 0,
    "amount_returned": 0,
    "uri": "bitcoin:test_1MBhWS3uv4ynCfQXF3xQjJkzFPukr4K56N?amount=0.02371000"
  },
  "customer": "cus_CBbg9PmQ9sLbmo"
}