Search code examples
laravellaravel-cashier

Laravel Cashier: Resume a single payment


after a successful payment I store the stripe id on a mysql table. With that id I would like to retrieve all the details stored in the stripe database.

So is it possible to resume a single payment by the stripe id?

Thanks


Solution

  • Here is the documentation you need to use: https://stripe.com/docs/api/php#retrieve_customer

    Use the "customer retrieve" Stripe API call to retrieve details about the customer's purchase:

     Stripe::setApiKey(Config::get('your_stripe_secret_key_here'));
     $customer_object = Customer::retrieve(customers_stripe_id);
    

    This will return the following JSON:

    Stripe\Customer JSON: {
      "id": "cus_7KJZQ8Z6jfSSMl",
      "object": "customer",
      "account_balance": 0,
      "created": 1447172728,
      "currency": "usd",
      "default_source": "card_175evz2eZvKYlo2CKoS2WEDk",
      "delinquent": false,
      "description": "Bingo|www|0c1234567890",
      "discount": null,
      "email": null,
      "livemode": false,
      "metadata": {
      },
      "shipping": null,
      "sources": {
        "object": "list",
        "data": [
          {
            "id": "card_175evz2eZvKYlo2CKoS2WEDk",
            "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": "cus_7KJZQ8Z6jfSSMl",
            "cvc_check": "pass",
            "dynamic_last4": null,
            "exp_month": 5,
            "exp_year": 2016,
            "funding": "credit",
            "last4": "4242",
            "metadata": {
            },
            "name": null,
            "tokenization_method": null
          }
        ],
        "has_more": false,
        "total_count": 1,
        "url": "/v1/customers/cus_7KJZQ8Z6jfSSMl/sources"
      },
      "subscriptions": {
        "object": "list",
        "data": [
    
        ],
        "has_more": false,
        "total_count": 0,
        "url": "/v1/customers/cus_7KJZQ8Z6jfSSMl/subscriptions"
      }
    }
    

    Here is Stripe's version of the API call:

    \Stripe\Stripe::setApiKey("your_secret_key");
    \Stripe\Customer::retrieve("the_customers_id");
    

    Make sure to import the \Stripe classes by adding this at the top of your Model or Controller:

    use Stripe\Customer;
    use Stripe\Stripe;
    

    if you want to use "Stripe" instead of \Stripe\Stripe and \Stripe\Customer prefixes)