Transaction.php 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. <?php
  2. // File generated from our OpenAPI spec
  3. namespace Stripe\Issuing;
  4. /**
  5. * Any use of an <a href="https://stripe.com/docs/issuing">issued card</a> that results in funds entering or leaving
  6. * your Stripe account, such as a completed purchase or refund, is represented by an Issuing
  7. * <code>Transaction</code> object.
  8. *
  9. * Related guide: <a href="https://stripe.com/docs/issuing/purchases/transactions">Issued card transactions</a>
  10. *
  11. * @property string $id Unique identifier for the object.
  12. * @property string $object String representing the object's type. Objects of the same type share the same value.
  13. * @property int $amount The transaction amount, which will be reflected in your balance. This amount is in your currency and in the <a href="https://stripe.com/docs/currencies#zero-decimal">smallest currency unit</a>.
  14. * @property null|\Stripe\StripeObject $amount_details Detailed breakdown of amount components. These amounts are denominated in <code>currency</code> and in the <a href="https://stripe.com/docs/currencies#zero-decimal">smallest currency unit</a>.
  15. * @property null|string|\Stripe\Issuing\Authorization $authorization The <code>Authorization</code> object that led to this transaction.
  16. * @property null|string|\Stripe\BalanceTransaction $balance_transaction ID of the <a href="https://stripe.com/docs/api/balance_transactions">balance transaction</a> associated with this transaction.
  17. * @property string|\Stripe\Issuing\Card $card The card used to make this transaction.
  18. * @property null|string|\Stripe\Issuing\Cardholder $cardholder The cardholder to whom this transaction belongs.
  19. * @property int $created Time at which the object was created. Measured in seconds since the Unix epoch.
  20. * @property string $currency Three-letter <a href="https://www.iso.org/iso-4217-currency-codes.html">ISO currency code</a>, in lowercase. Must be a <a href="https://stripe.com/docs/currencies">supported currency</a>.
  21. * @property null|string|\Stripe\Issuing\Dispute $dispute If you've disputed the transaction, the ID of the dispute.
  22. * @property bool $livemode Has the value <code>true</code> if the object exists in live mode or the value <code>false</code> if the object exists in test mode.
  23. * @property int $merchant_amount The amount that the merchant will receive, denominated in <code>merchant_currency</code> and in the <a href="https://stripe.com/docs/currencies#zero-decimal">smallest currency unit</a>. It will be different from <code>amount</code> if the merchant is taking payment in a different currency.
  24. * @property string $merchant_currency The currency with which the merchant is taking payment.
  25. * @property \Stripe\StripeObject $merchant_data
  26. * @property \Stripe\StripeObject $metadata Set of <a href="https://stripe.com/docs/api/metadata">key-value pairs</a> that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
  27. * @property null|\Stripe\StripeObject $network_data Details about the transaction, such as processing dates, set by the card network.
  28. * @property null|\Stripe\StripeObject $purchase_details Additional purchase information that is optionally provided by the merchant.
  29. * @property null|string|\Stripe\Issuing\Token $token <a href="https://stripe.com/docs/api/issuing/tokens/object">Token</a> object used for this transaction. If a network token was not used for this transaction, this field will be null.
  30. * @property null|\Stripe\StripeObject $treasury <a href="https://stripe.com/docs/api/treasury">Treasury</a> details related to this transaction if it was created on a [FinancialAccount](/docs/api/treasury/financial_accounts
  31. * @property string $type The nature of the transaction.
  32. * @property null|string $wallet The digital wallet used for this transaction. One of <code>apple_pay</code>, <code>google_pay</code>, or <code>samsung_pay</code>.
  33. */
  34. class Transaction extends \Stripe\ApiResource
  35. {
  36. const OBJECT_NAME = 'issuing.transaction';
  37. use \Stripe\ApiOperations\Update;
  38. const TYPE_CAPTURE = 'capture';
  39. const TYPE_REFUND = 'refund';
  40. const WALLET_APPLE_PAY = 'apple_pay';
  41. const WALLET_GOOGLE_PAY = 'google_pay';
  42. const WALLET_SAMSUNG_PAY = 'samsung_pay';
  43. /**
  44. * Returns a list of Issuing <code>Transaction</code> objects. The objects are
  45. * sorted in descending order by creation date, with the most recently created
  46. * object appearing first.
  47. *
  48. * @param null|array $params
  49. * @param null|array|string $opts
  50. *
  51. * @throws \Stripe\Exception\ApiErrorException if the request fails
  52. *
  53. * @return \Stripe\Collection<\Stripe\Issuing\Transaction> of ApiResources
  54. */
  55. public static function all($params = null, $opts = null)
  56. {
  57. $url = static::classUrl();
  58. return static::_requestPage($url, \Stripe\Collection::class, $params, $opts);
  59. }
  60. /**
  61. * Retrieves an Issuing <code>Transaction</code> object.
  62. *
  63. * @param array|string $id the ID of the API resource to retrieve, or an options array containing an `id` key
  64. * @param null|array|string $opts
  65. *
  66. * @throws \Stripe\Exception\ApiErrorException if the request fails
  67. *
  68. * @return \Stripe\Issuing\Transaction
  69. */
  70. public static function retrieve($id, $opts = null)
  71. {
  72. $opts = \Stripe\Util\RequestOptions::parse($opts);
  73. $instance = new static($id, $opts);
  74. $instance->refresh();
  75. return $instance;
  76. }
  77. /**
  78. * Updates the specified Issuing <code>Transaction</code> object by setting the
  79. * values of the parameters passed. Any parameters not provided will be left
  80. * unchanged.
  81. *
  82. * @param string $id the ID of the resource to update
  83. * @param null|array $params
  84. * @param null|array|string $opts
  85. *
  86. * @throws \Stripe\Exception\ApiErrorException if the request fails
  87. *
  88. * @return \Stripe\Issuing\Transaction the updated resource
  89. */
  90. public static function update($id, $params = null, $opts = null)
  91. {
  92. self::_validateParams($params);
  93. $url = static::resourceUrl($id);
  94. list($response, $opts) = static::_staticRequest('post', $url, $params, $opts);
  95. $obj = \Stripe\Util\Util::convertToStripeObject($response->json, $opts);
  96. $obj->setLastResponse($response);
  97. return $obj;
  98. }
  99. }