Business-GoCardless

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

Revision history for Business-GoCardless

0.45     2026-06-15
        - Add mandate_type to Business::GoCardless::Mandate, with
          is_bank_debit, is_instant, is_recurring, is_vrp_commercial,
          and is_vrp_sweeping helper methods
        - Add authorisation_source and next_possible_standard_ach_charge_date
          attributes to Business::GoCardless::Mandate
        - Add consumed, blocked, and suspended_by_payer status check methods
          to Business::GoCardless::Mandate

0.44     2024-08-26
        - Add consent_type to Business::GoCardless::Mandate

0.43     2024-02-01
        - Make payout/payouts methods compatible with Pro API

0.42     2024-02-01
        - Bump minimum Perl version to 5.20.0

lib/Business/GoCardless/Mandate.pm  view on Meta::CPAN

=head1 Status checks on a mandate

    pending_customer_approval
    pending_submission
    submitted
    active
    failed
    cancelled
    expired
    consumed
    blocked
    suspended_by_payer

    if ( $Mandate->failed ) {
        ...
    }

=cut

sub pending_customer_approval { return shift->status eq 'pending_customer_approval' }
sub pending_submission        { return shift->status eq 'pending_submission' }
sub submitted                 { return shift->status eq 'submitted' }
sub active                    { return shift->status eq 'active' }
sub failed                    { return shift->status eq 'failed' }
sub cancelled                 { return shift->status eq 'cancelled' }
sub expired                   { return shift->status eq 'expired' }
sub consumed                  { return shift->status eq 'consumed' }
sub blocked                   { return shift->status eq 'blocked' }
sub suspended_by_payer        { return shift->status eq 'suspended_by_payer' }

=head1 Funds settlement checks on a mandate

    is_managed
    is_direct

=cut

sub is_managed { return shift->funds_settlement eq 'managed' }

t/business/gocardless/mandate.t  view on Meta::CPAN

$Mandate->status( 'active' );

ok( ! $Mandate->pending_customer_approval,'pending_customer_approval' );
ok( ! $Mandate->pending_submission,'pending_submission' );
ok( ! $Mandate->submitted,'submitted' );
ok( $Mandate->active,'active' );
ok( ! $Mandate->failed,'failed' );
ok( ! $Mandate->cancelled,'cancelled' );
ok( ! $Mandate->expired,'expired' );
ok( ! $Mandate->consumed,'consumed' );
ok( ! $Mandate->blocked,'blocked' );
ok( ! $Mandate->suspended_by_payer,'suspended_by_payer' );
ok( ! $Mandate->consent_parameters,'consent_parameters' );
ok( ! $Mandate->consent_type,'consent_type' );
ok( ! $Mandate->verified_at,'verified_at' );
ok( ! $Mandate->authorisation_source,'authorisation_source' );
ok( ! $Mandate->next_possible_standard_ach_charge_date,'next_possible_standard_ach_charge_date' );
is( $Mandate->funds_settlement,'managed','funds_settlement' );
ok( $Mandate->is_managed,'->is_managed' );
ok( ! $Mandate->is_direct,'! ->is_direct' );



( run in 1.983 second using v1.01-cache-2.11-cpan-c966e8aa7e8 )