func (o *PaymentInitiationPayment) GetInitiatedRefundsOk() (*[]PaymentInitiationRefund, bool) {
	if o == nil || o.InitiatedRefunds == nil {
		return nil, false
	}
	return o.InitiatedRefunds, true
}
GetInitiatedRefundsOk returns a tuple with the InitiatedRefunds field value if set, nil otherwise
and a boolean to check if the value has been set.
package plaid
import (
	"encoding/json"
	"time"
)
type PaymentInitiationPayment struct {
	PaymentId string `json:"payment_id"`
	Amount PaymentAmount `json:"amount"`
	Status string `json:"status"`
	RecipientId string `json:"recipient_id"`
	Reference string `json:"reference"`
	AdjustedReference NullableString `json:"adjusted_reference,omitempty"`
	LastStatusUpdate time.Time `json:"last_status_update"`
	Schedule NullableExternalPaymentScheduleGet `json:"schedule,omitempty"`
	RefundDetails NullableExternalPaymentRefundDetails `json:"refund_details,omitempty"`
	Bacs NullableSenderBACSNullable `json:"bacs"`
	Iban NullableString `json:"iban"`
	InitiatedRefunds *[]PaymentInitiationRefund `json:"initiated_refunds,omitempty"`
	EmiAccountId NullableString `json:"emi_account_id,omitempty"`
	AdditionalProperties map[string]interface{}
}
type _PaymentInitiationPayment PaymentInitiationPayment
func NewPaymentInitiationPayment(paymentId string, amount PaymentAmount, status string, recipientId string, reference string, lastStatusUpdate time.Time, bacs NullableSenderBACSNullable, iban NullableString) *PaymentInitiationPayment {
	this := PaymentInitiationPayment{}
	this.PaymentId = paymentId
	this.Amount = amount
	this.Status = status
	this.RecipientId = recipientId
	this.Reference = reference
	this.LastStatusUpdate = lastStatusUpdate
	this.Bacs = bacs
	this.Iban = iban
	return &this
}
func NewPaymentInitiationPaymentWithDefaults() *PaymentInitiationPayment {
	this := PaymentInitiationPayment{}
	return &this
}
func (o *PaymentInitiationPayment) GetPaymentId() string {
	if o == nil {
		var ret string
		return ret
	}
	return o.PaymentId
}
func (o *PaymentInitiationPayment) GetPaymentIdOk() (*string, bool) {
	if o == nil  {
		return nil, false
	}
	return &o.PaymentId, true
}
func (o *PaymentInitiationPayment) SetPaymentId(v string) {
	o.PaymentId = v
}
func (o *PaymentInitiationPayment) GetAmount() PaymentAmount {
	if o == nil {
		var ret PaymentAmount
		return ret
	}
	return o.Amount
}
func (o *PaymentInitiationPayment) GetAmountOk() (*PaymentAmount, bool) {
	if o == nil  {
		return nil, false
	}
	return &o.Amount, true
}
func (o *PaymentInitiationPayment) SetAmount(v PaymentAmount) {
	o.Amount = v
}
func (o *PaymentInitiationPayment) GetStatus() string {
	if o == nil {
		var ret string
		return ret
	}
	return o.Status
}
func (o *PaymentInitiationPayment) GetStatusOk() (*string, bool) {
	if o == nil  {
		return nil, false
	}
	return &o.Status, true
}
func (o *PaymentInitiationPayment) SetStatus(v string) {
	o.Status = v
}
func (o *PaymentInitiationPayment) GetRecipientId() string {
	if o == nil {
		var ret string
		return ret
	}
	return o.RecipientId
}
func (o *PaymentInitiationPayment) GetRecipientIdOk() (*string, bool) {
	if o == nil  {
		return nil, false
	}
	return &o.RecipientId, true
}
func (o *PaymentInitiationPayment) SetRecipientId(v string) {
	o.RecipientId = v
}
func (o *PaymentInitiationPayment) GetReference() string {
	if o == nil {
		var ret string
		return ret
	}
	return o.Reference
}
func (o *PaymentInitiationPayment) GetReferenceOk() (*string, bool) {
	if o == nil  {
		return nil, false
	}
	return &o.Reference, true
}
func (o *PaymentInitiationPayment) SetReference(v string) {
	o.Reference = v
}
func (o *PaymentInitiationPayment) GetAdjustedReference() string {
	if o == nil || o.AdjustedReference.Get() == nil {
		var ret string
		return ret
	}
	return *o.AdjustedReference.Get()
}
func (o *PaymentInitiationPayment) GetAdjustedReferenceOk() (*string, bool) {
	if o == nil  {
		return nil, false
	}
	return o.AdjustedReference.Get(), o.AdjustedReference.IsSet()
}
func (o *PaymentInitiationPayment) HasAdjustedReference() bool {
	if o != nil && o.AdjustedReference.IsSet() {
		return true
	}
	return false
}
func (o *PaymentInitiationPayment) SetAdjustedReference(v string) {
	o.AdjustedReference.Set(&v)
}
func (o *PaymentInitiationPayment) SetAdjustedReferenceNil() {
	o.AdjustedReference.Set(nil)
}
func (o *PaymentInitiationPayment) UnsetAdjustedReference() {
	o.AdjustedReference.Unset()
}
func (o *PaymentInitiationPayment) GetLastStatusUpdate() time.Time {
	if o == nil {
		var ret time.Time
		return ret
	}
	return o.LastStatusUpdate
}
func (o *PaymentInitiationPayment) GetLastStatusUpdateOk() (*time.Time, bool) {
	if o == nil  {
		return nil, false
	}
	return &o.LastStatusUpdate, true
}
func (o *PaymentInitiationPayment) SetLastStatusUpdate(v time.Time) {
	o.LastStatusUpdate = v
}
func (o *PaymentInitiationPayment) GetSchedule() ExternalPaymentScheduleGet {
	if o == nil || o.Schedule.Get() == nil {
		var ret ExternalPaymentScheduleGet
		return ret
	}
	return *o.Schedule.Get()
}
func (o *PaymentInitiationPayment) GetScheduleOk() (*ExternalPaymentScheduleGet, bool) {
	if o == nil  {
		return nil, false
	}
	return o.Schedule.Get(), o.Schedule.IsSet()
}
func (o *PaymentInitiationPayment) HasSchedule() bool {
	if o != nil && o.Schedule.IsSet() {
		return true
	}
	return false
}
func (o *PaymentInitiationPayment) SetSchedule(v ExternalPaymentScheduleGet) {
	o.Schedule.Set(&v)
}
func (o *PaymentInitiationPayment) SetScheduleNil() {
	o.Schedule.Set(nil)
}
func (o *PaymentInitiationPayment) UnsetSchedule() {
	o.Schedule.Unset()
}
func (o *PaymentInitiationPayment) GetRefundDetails() ExternalPaymentRefundDetails {
	if o == nil || o.RefundDetails.Get() == nil {
		var ret ExternalPaymentRefundDetails
		return ret
	}
	return *o.RefundDetails.Get()
}
func (o *PaymentInitiationPayment) GetRefundDetailsOk() (*ExternalPaymentRefundDetails, bool) {
	if o == nil  {
		return nil, false
	}
	return o.RefundDetails.Get(), o.RefundDetails.IsSet()
}
func (o *PaymentInitiationPayment) HasRefundDetails() bool {
	if o != nil && o.RefundDetails.IsSet() {
		return true
	}
	return false
}
func (o *PaymentInitiationPayment) SetRefundDetails(v ExternalPaymentRefundDetails) {
	o.RefundDetails.Set(&v)
}
func (o *PaymentInitiationPayment) SetRefundDetailsNil() {
	o.RefundDetails.Set(nil)
}
func (o *PaymentInitiationPayment) UnsetRefundDetails() {
	o.RefundDetails.Unset()
}
func (o *PaymentInitiationPayment) GetBacs() SenderBACSNullable {
	if o == nil || o.Bacs.Get() == nil {
		var ret SenderBACSNullable
		return ret
	}
	return *o.Bacs.Get()
}
func (o *PaymentInitiationPayment) GetBacsOk() (*SenderBACSNullable, bool) {
	if o == nil  {
		return nil, false
	}
	return o.Bacs.Get(), o.Bacs.IsSet()
}
func (o *PaymentInitiationPayment) SetBacs(v SenderBACSNullable) {
	o.Bacs.Set(&v)
}
func (o *PaymentInitiationPayment) GetIban() string {
	if o == nil || o.Iban.Get() == nil {
		var ret string
		return ret
	}
	return *o.Iban.Get()
}
func (o *PaymentInitiationPayment) GetIbanOk() (*string, bool) {
	if o == nil  {
		return nil, false
	}
	return o.Iban.Get(), o.Iban.IsSet()
}
func (o *PaymentInitiationPayment) SetIban(v string) {
	o.Iban.Set(&v)
}
func (o *PaymentInitiationPayment) GetInitiatedRefunds() []PaymentInitiationRefund {
	if o == nil || o.InitiatedRefunds == nil {
		var ret []PaymentInitiationRefund
		return ret
	}
	return *o.InitiatedRefunds
}