PHP ActiveX Stripe: Create a Source

Back to Index

Creates a new source object.

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

CURL Command

curl https://api.stripe.com/v1/sources \
   -u STRIPE_SECRET_KEY: \
   -d type=bitcoin \
   -d amount=1000 \
   -d currency=usd \
   -d owner[email]="jenny.rosen@example.com" \
   -X POST

PHP ActiveX Example

<?php

$rest = new COM("Chilkat_9_5_0.Rest");

//  URL: https://api.stripe.com/v1/sources
$bTls = 1;
$port = 443;
$bAutoReconnect = 1;
$success = $rest->Connect('api.stripe.com',$port,$bTls,$bAutoReconnect);
if ($success != 1) {
    print 'ConnectFailReason: ' . $rest->ConnectFailReason . "\n";
    print $rest->LastErrorText . "\n";
    exit;
}

$rest->SetAuthBasic('STRIPE_SECRET_KEY','');

$rest->AddQueryParam('type','bitcoin');
$rest->AddQueryParam('amount','1000');
$rest->AddQueryParam('currency','usd');
$rest->AddQueryParam('owner[email]','jenny.rosen@example.com');

$strResponseBody = $rest->fullRequestFormUrlEncoded('POST','/v1/sources');
if ($rest->LastMethodSuccess != 1) {
    print $rest->LastErrorText . "\n";
    exit;
}

$jsonResponse = new COM("Chilkat_9_5_0.JsonObject");
$jsonResponse->Load($strResponseBody);

$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');

?>

Sample JSON Response Body

{
  "id": "src_1BnETKGswQrCoh0XUrU9xVhU",
  "object": "source",
  "amount": 1000,
  "client_secret": "src_client_secret_CBbgwhcWX2mz2uzcVsX3vjfe",
  "created": 1516662782,
  "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": "pending",
  "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"
  }
}