ClientPaymentMethod.php 4.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. <?php
  2. namespace App\Models;
  3. use Illuminate\Database\Eloquent\Factories\HasFactory;
  4. use Illuminate\Database\Eloquent\Model;
  5. use Illuminate\Database\Eloquent\Relations\BelongsTo;
  6. use Illuminate\Database\Eloquent\SoftDeletes;
  7. /**
  8. * @property int $id
  9. * @property int $client_id
  10. * @property string|null $card_number
  11. * @property string $holder_name
  12. * @property string $expiration
  13. * @property string|null $cvv
  14. * @property string|null $card_name
  15. * @property string|null $brand
  16. * @property string $last_four_digits
  17. * @property bool $is_active
  18. * @property \Illuminate\Support\Carbon|null $created_at
  19. * @property \Illuminate\Support\Carbon|null $updated_at
  20. * @property \Illuminate\Support\Carbon|null $deleted_at
  21. * @property string|null $token
  22. * @property string|null $gateway_card_id
  23. * @property string|null $idempotency_key
  24. * @property-read \App\Models\Client $client
  25. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod newModelQuery()
  26. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod newQuery()
  27. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod onlyTrashed()
  28. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod query()
  29. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod whereBrand($value)
  30. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod whereCardName($value)
  31. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod whereCardNumber($value)
  32. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod whereClientId($value)
  33. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod whereCreatedAt($value)
  34. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod whereCvv($value)
  35. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod whereDeletedAt($value)
  36. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod whereExpiration($value)
  37. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod whereGatewayCardId($value)
  38. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod whereHolderName($value)
  39. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod whereId($value)
  40. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod whereIdempotencyKey($value)
  41. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod whereIsActive($value)
  42. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod whereLastFourDigits($value)
  43. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod whereToken($value)
  44. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod whereUpdatedAt($value)
  45. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod withTrashed(bool $withTrashed = true)
  46. * @method static \Illuminate\Database\Eloquent\Builder<static>|ClientPaymentMethod withoutTrashed()
  47. * @mixin \Eloquent
  48. */
  49. class ClientPaymentMethod extends Model
  50. {
  51. use HasFactory, SoftDeletes;
  52. protected $fillable = [
  53. 'client_id',
  54. 'token',
  55. 'gateway_card_id',
  56. 'idempotency_key',
  57. 'card_number',
  58. 'holder_name',
  59. 'expiration',
  60. 'cvv',
  61. 'card_name',
  62. 'brand',
  63. 'last_four_digits',
  64. 'is_active',
  65. ];
  66. protected $casts = [
  67. 'token' => 'encrypted',
  68. 'card_number' => 'encrypted',
  69. 'cvv' => 'encrypted',
  70. 'is_active' => 'boolean',
  71. 'created_at' => 'datetime',
  72. 'updated_at' => 'datetime',
  73. 'deleted_at' => 'datetime',
  74. ];
  75. protected $hidden = [
  76. 'token',
  77. 'gateway_card_id',
  78. 'card_number',
  79. 'cvv',
  80. ];
  81. public function client(): BelongsTo
  82. {
  83. return $this->belongsTo(Client::class);
  84. }
  85. }