.NET Client
AustralianAllowanceTypes
Section titled “AustralianAllowanceTypes”Class in Verifiabl.Client
Allowance allowance_type values for au.payslip.v2.
public static class AustralianAllowanceTypesInheritance: System.Object
CentsPerKm
Section titled “CentsPerKm”Field
The cents_per_km code.
public const string CentsPerKm = "cents_per_km"Returns: System.String
AwardTransport
Section titled “AwardTransport”Field
The award_transport code.
public const string AwardTransport = "award_transport"Returns: System.String
Laundry
Section titled “Laundry”Field
The laundry code.
public const string Laundry = "laundry"Returns: System.String
OvertimeMeal
Section titled “OvertimeMeal”Field
The overtime_meal code.
public const string OvertimeMeal = "overtime_meal"Returns: System.String
Travel
Section titled “Travel”Field
The travel code.
public const string Travel = "travel"Returns: System.String
Field
The tools code.
public const string Tools = "tools"Returns: System.String
Field
The tasks code.
public const string Tasks = "tasks"Returns: System.String
Qualifications
Section titled “Qualifications”Field
The qualifications code.
public const string Qualifications = "qualifications"Returns: System.String
Field
The other code.
public const string Other = "other"Returns: System.String
Field
Every accepted value, in contract order.
public static readonly IReadOnlyList<string> AllReturns: System.Collections.Generic.IReadOnlyList{System.String}
AustralianDeductionTypes
Section titled “AustralianDeductionTypes”Class in Verifiabl.Client
Deduction type values for au.payslip.v2.
public static class AustralianDeductionTypesInheritance: System.Object
UnionProfessionalFees
Section titled “UnionProfessionalFees”Field
The union_professional_fees code.
public const string UnionProfessionalFees = "union_professional_fees"Returns: System.String
WorkplaceGiving
Section titled “WorkplaceGiving”Field
The workplace_giving code.
public const string WorkplaceGiving = "workplace_giving"Returns: System.String
ChildSupportDeduction
Section titled “ChildSupportDeduction”Field
The child_support_deduction code.
public const string ChildSupportDeduction = "child_support_deduction"Returns: System.String
ChildSupportGarnishee
Section titled “ChildSupportGarnishee”Field
The child_support_garnishee code.
public const string ChildSupportGarnishee = "child_support_garnishee"Returns: System.String
OtherPostTax
Section titled “OtherPostTax”Field
The other_post_tax code.
public const string OtherPostTax = "other_post_tax"Returns: System.String
Field
Every accepted value, in contract order.
public static readonly IReadOnlyList<string> AllReturns: System.Collections.Generic.IReadOnlyList{System.String}
AustralianEarningsTypes
Section titled “AustralianEarningsTypes”Class in Verifiabl.Client
Earnings line type values for au.payslip.v2.
public static class AustralianEarningsTypesInheritance: System.Object
PaidLeave
Section titled “PaidLeave”Field
The paid_leave code.
public const string PaidLeave = "paid_leave"Returns: System.String
Allowance
Section titled “Allowance”Field
The allowance code.
public const string Allowance = "allowance"Returns: System.String
Ordinary
Section titled “Ordinary”Field
The ordinary code.
public const string Ordinary = "ordinary"Returns: System.String
Overtime
Section titled “Overtime”Field
The overtime code.
public const string Overtime = "overtime"Returns: System.String
BonusCommission
Section titled “BonusCommission”Field
The bonus_commission code.
public const string BonusCommission = "bonus_commission"Returns: System.String
DirectorsFees
Section titled “DirectorsFees”Field
The directors_fees code.
public const string DirectorsFees = "directors_fees"Returns: System.String
LumpSum
Section titled “LumpSum”Field
The lump_sum code.
public const string LumpSum = "lump_sum"Returns: System.String
ReturnToWork
Section titled “ReturnToWork”Field
The return_to_work code.
public const string ReturnToWork = "return_to_work"Returns: System.String
Field
The other code.
public const string Other = "other"Returns: System.String
Field
Every accepted value, in contract order.
public static readonly IReadOnlyList<string> AllReturns: System.Collections.Generic.IReadOnlyList{System.String}
AustralianEmploymentBases
Section titled “AustralianEmploymentBases”Class in Verifiabl.Client
employment_basis values for au.payslip.v2.
public static class AustralianEmploymentBasesInheritance: System.Object
FullTime
Section titled “FullTime”Field
The full_time code.
public const string FullTime = "full_time"Returns: System.String
PartTime
Section titled “PartTime”Field
The part_time code.
public const string PartTime = "part_time"Returns: System.String
Casual
Section titled “Casual”Field
The casual code.
public const string Casual = "casual"Returns: System.String
LabourHire
Section titled “LabourHire”Field
The labour_hire code.
public const string LabourHire = "labour_hire"Returns: System.String
VoluntaryAgreement
Section titled “VoluntaryAgreement”Field
The voluntary_agreement code.
public const string VoluntaryAgreement = "voluntary_agreement"Returns: System.String
DeathBeneficiary
Section titled “DeathBeneficiary”Field
The death_beneficiary code.
public const string DeathBeneficiary = "death_beneficiary"Returns: System.String
NonEmployee
Section titled “NonEmployee”Field
The non_employee code.
public const string NonEmployee = "non_employee"Returns: System.String
Field
Every accepted value, in contract order.
public static readonly IReadOnlyList<string> AllReturns: System.Collections.Generic.IReadOnlyList{System.String}
AustralianEngagementTypes
Section titled “AustralianEngagementTypes”Class in Verifiabl.Client
engagement_type values for au.payslip.v2.
public static class AustralianEngagementTypesInheritance: System.Object
Permanent
Section titled “Permanent”Field
The permanent code.
public const string Permanent = "permanent"Returns: System.String
FixedTerm
Section titled “FixedTerm”Field
The fixed_term code.
public const string FixedTerm = "fixed_term"Returns: System.String
Field
Every accepted value, in contract order.
public static readonly IReadOnlyList<string> AllReturns: System.Collections.Generic.IReadOnlyList{System.String}
AustralianOtherAllowanceCategories
Section titled “AustralianOtherAllowanceCategories”Class in Verifiabl.Client
other_category values for an other allowance in au.payslip.v2.
public static class AustralianOtherAllowanceCategoriesInheritance: System.Object
HomeOffice
Section titled “HomeOffice”Field
The home_office code.
public const string HomeOffice = "home_office"Returns: System.String
NonDeductible
Section titled “NonDeductible”Field
The non_deductible code.
public const string NonDeductible = "non_deductible"Returns: System.String
TransportFares
Section titled “TransportFares”Field
The transport_fares code.
public const string TransportFares = "transport_fares"Returns: System.String
Uniform
Section titled “Uniform”Field
The uniform code.
public const string Uniform = "uniform"Returns: System.String
PrivateVehicle
Section titled “PrivateVehicle”Field
The private_vehicle code.
public const string PrivateVehicle = "private_vehicle"Returns: System.String
General
Section titled “General”Field
The general code.
public const string General = "general"Returns: System.String
Field
Every accepted value, in contract order.
public static readonly IReadOnlyList<string> AllReturns: System.Collections.Generic.IReadOnlyList{System.String}
AustralianPaidLeaveTypes
Section titled “AustralianPaidLeaveTypes”Class in Verifiabl.Client
Paid leave leave_type values for au.payslip.v2.
public static class AustralianPaidLeaveTypesInheritance: System.Object
CashOutInService
Section titled “CashOutInService”Field
The cash_out_in_service code.
public const string CashOutInService = "cash_out_in_service"Returns: System.String
UnusedOnTermination
Section titled “UnusedOnTermination”Field
The unused_on_termination code.
public const string UnusedOnTermination = "unused_on_termination"Returns: System.String
PaidParental
Section titled “PaidParental”Field
The paid_parental code.
public const string PaidParental = "paid_parental"Returns: System.String
WorkersCompensation
Section titled “WorkersCompensation”Field
The workers_compensation code.
public const string WorkersCompensation = "workers_compensation"Returns: System.String
AncillaryDefence
Section titled “AncillaryDefence”Field
The ancillary_defence code.
public const string AncillaryDefence = "ancillary_defence"Returns: System.String
OtherPaidLeave
Section titled “OtherPaidLeave”Field
The other_paid_leave code.
public const string OtherPaidLeave = "other_paid_leave"Returns: System.String
Field
Every accepted value, in contract order.
public static readonly IReadOnlyList<string> AllReturns: System.Collections.Generic.IReadOnlyList{System.String}
AustralianPayFrequencies
Section titled “AustralianPayFrequencies”Class in Verifiabl.Client
pay_frequency values for au.payslip.v2.
public static class AustralianPayFrequenciesInheritance: System.Object
Weekly
Section titled “Weekly”Field
The weekly code.
public const string Weekly = "weekly"Returns: System.String
Fortnightly
Section titled “Fortnightly”Field
The fortnightly code.
public const string Fortnightly = "fortnightly"Returns: System.String
Monthly
Section titled “Monthly”Field
The monthly code.
public const string Monthly = "monthly"Returns: System.String
Quarterly
Section titled “Quarterly”Field
The quarterly code.
public const string Quarterly = "quarterly"Returns: System.String
FourWeekly
Section titled “FourWeekly”Field
The four_weekly code.
public const string FourWeekly = "four_weekly"Returns: System.String
SemiMonthly
Section titled “SemiMonthly”Field
The semi_monthly code.
public const string SemiMonthly = "semi_monthly"Returns: System.String
Field
Every accepted value, in contract order.
public static readonly IReadOnlyList<string> AllReturns: System.Collections.Generic.IReadOnlyList{System.String}
AustralianPayslipV2
Section titled “AustralianPayslipV2”Class in Verifiabl.Client
Generated AU/NZ v2 non-PII wire fields; the API validates values.
public sealed class AustralianPayslipV2Inheritance: System.Object
PeriodStart
Section titled “PeriodStart”Property
Wire field period_start: DateOnly on .NET 8 and later, a YYYY-MM-DD string on .NET Framework.
[JsonPropertyName("period_start")][JsonConverter(typeof(PayslipDateConverter))]public DateOnly? PeriodStart { get; init; }Returns: System.Nullable{System.DateOnly}
PeriodEnd
Section titled “PeriodEnd”Property
Wire field period_end: DateOnly on .NET 8 and later, a YYYY-MM-DD string on .NET Framework.
[JsonPropertyName("period_end")][JsonConverter(typeof(PayslipDateConverter))]public required DateOnly PeriodEnd { get; init; }Returns: System.DateOnly
PaymentDate
Section titled “PaymentDate”Property
Wire field payment_date: DateOnly on .NET 8 and later, a YYYY-MM-DD string on .NET Framework.
[JsonPropertyName("payment_date")][JsonConverter(typeof(PayslipDateConverter))]public required DateOnly PaymentDate { get; init; }Returns: System.DateOnly
Currency
Section titled “Currency”Property
Wire field currency; see Verifiabl.Client.PayslipCurrencies.
[JsonPropertyName("currency")]public required string Currency { get; init; }Returns: System.String
Property
Wire field gross.
[JsonPropertyName("gross")][JsonConverter(typeof(PayslipDecimalConverter))]public required decimal Gross { get; init; }Returns: System.Decimal
Property
Wire field paygw.
[JsonPropertyName("paygw")][JsonConverter(typeof(PayslipDecimalConverter))]public required decimal Paygw { get; init; }Returns: System.Decimal
Property
Wire field net.
[JsonPropertyName("net")][JsonConverter(typeof(PayslipDecimalConverter))]public required decimal Net { get; init; }Returns: System.Decimal
YtdGross
Section titled “YtdGross”Property
Wire field ytd_gross.
[JsonPropertyName("ytd_gross")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? YtdGross { get; init; }Returns: System.Nullable{System.Decimal}
YtdPaygw
Section titled “YtdPaygw”Property
Wire field ytd_paygw.
[JsonPropertyName("ytd_paygw")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? YtdPaygw { get; init; }Returns: System.Nullable{System.Decimal}
PayFrequency
Section titled “PayFrequency”Property
Wire field pay_frequency; see Verifiabl.Client.AustralianPayFrequencies.
[JsonPropertyName("pay_frequency")]public string? PayFrequency { get; init; }Returns: System.String
EmploymentBasis
Section titled “EmploymentBasis”Property
Wire field employment_basis; see Verifiabl.Client.AustralianEmploymentBases.
[JsonPropertyName("employment_basis")]public string? EmploymentBasis { get; init; }Returns: System.String
EngagementType
Section titled “EngagementType”Property
Wire field engagement_type; see Verifiabl.Client.AustralianEngagementTypes.
[JsonPropertyName("engagement_type")]public string? EngagementType { get; init; }Returns: System.String
Property
Wire field award.
[JsonPropertyName("award")]public string? Award { get; init; }Returns: System.String
Hourly
Section titled “Hourly”Property
Wire field hourly.
[JsonPropertyName("hourly")]public AustralianPayslipV2Hourly? Hourly { get; init; }Returns: Verifiabl.Client.AustralianPayslipV2Hourly
AnnualRate
Section titled “AnnualRate”Property
Wire field annual_rate.
[JsonPropertyName("annual_rate")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? AnnualRate { get; init; }Returns: System.Nullable{System.Decimal}
TaxableGross
Section titled “TaxableGross”Property
Wire field taxable_gross.
[JsonPropertyName("taxable_gross")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? TaxableGross { get; init; }Returns: System.Nullable{System.Decimal}
StslWithholding
Section titled “StslWithholding”Property
Wire field stsl_withholding.
[JsonPropertyName("stsl_withholding")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? StslWithholding { get; init; }Returns: System.Nullable{System.Decimal}
Earnings
Section titled “Earnings”Property
Wire field earnings.
[JsonPropertyName("earnings")]public IReadOnlyList<AustralianPayslipV2EarningsItem>? Earnings { get; init; }Returns: System.Collections.Generic.IReadOnlyList{Verifiabl.Client.AustralianPayslipV2EarningsItem}
SalarySacrifice
Section titled “SalarySacrifice”Property
Wire field salary_sacrifice.
[JsonPropertyName("salary_sacrifice")]public IReadOnlyList<AustralianPayslipV2SalarySacrificeItem>? SalarySacrifice { get; init; }Returns: System.Collections.Generic.IReadOnlyList{Verifiabl.Client.AustralianPayslipV2SalarySacrificeItem}
Deductions
Section titled “Deductions”Property
Wire field deductions.
[JsonPropertyName("deductions")]public IReadOnlyList<AustralianPayslipV2DeductionsItem>? Deductions { get; init; }Returns: System.Collections.Generic.IReadOnlyList{Verifiabl.Client.AustralianPayslipV2DeductionsItem}
Superannuation
Section titled “Superannuation”Property
Wire field superannuation.
[JsonPropertyName("superannuation")]public IReadOnlyList<AustralianPayslipV2SuperannuationItem>? Superannuation { get; init; }Returns: System.Collections.Generic.IReadOnlyList{Verifiabl.Client.AustralianPayslipV2SuperannuationItem}
Reimbursements
Section titled “Reimbursements”Property
Wire field reimbursements.
[JsonPropertyName("reimbursements")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? Reimbursements { get; init; }Returns: System.Nullable{System.Decimal}
Property
Wire field ytd.
[JsonPropertyName("ytd")]public AustralianPayslipV2Ytd? Ytd { get; init; }Returns: Verifiabl.Client.AustralianPayslipV2Ytd
AustralianPayslipV2DeductionsItem
Section titled “AustralianPayslipV2DeductionsItem”Class in Verifiabl.Client
Generated AU/NZ v2 non-PII wire fields; the API validates values.
public sealed class AustralianPayslipV2DeductionsItemInheritance: System.Object
Property
Wire field type; see Verifiabl.Client.AustralianDeductionTypes.
[JsonPropertyName("type")]public required string Type { get; init; }Returns: System.String
Amount
Section titled “Amount”Property
Wire field amount.
[JsonPropertyName("amount")][JsonConverter(typeof(PayslipDecimalConverter))]public required decimal Amount { get; init; }Returns: System.Decimal
YtdAmount
Section titled “YtdAmount”Property
Wire field ytd_amount.
[JsonPropertyName("ytd_amount")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? YtdAmount { get; init; }Returns: System.Nullable{System.Decimal}
AustralianPayslipV2EarningsItem
Section titled “AustralianPayslipV2EarningsItem”Class in Verifiabl.Client
Generated AU/NZ v2 non-PII wire fields; the API validates values.
public sealed class AustralianPayslipV2EarningsItemInheritance: System.Object
PaidLeave(string, decimal, decimal?, decimal?, decimal?)
Section titled “PaidLeave(string, decimal, decimal?, decimal?, decimal?)”Method
Create an earnings line of type paid_leave.
public static AustralianPayslipV2EarningsItem PaidLeave(string leaveType, decimal amount, decimal? units = null, decimal? rate = null, decimal? ytdAmount = null)| Parameter | Type | Description |
|---|---|---|
leaveType |
System.String |
One of Verifiabl.Client.AustralianPaidLeaveTypes. |
amount |
System.Decimal |
Wire field amount. |
units |
System.Nullable{System.Decimal} |
Wire field units. |
rate |
System.Nullable{System.Decimal} |
Wire field rate. |
ytdAmount |
System.Nullable{System.Decimal} |
Wire field ytd_amount. |
Returns: Verifiabl.Client.AustralianPayslipV2EarningsItem
Allowance(string, decimal, decimal?, decimal?, decimal?)
Section titled “Allowance(string, decimal, decimal?, decimal?, decimal?)”Method
Create an allowance line of any type except other; use Verifiabl.Client.AustralianPayslipV2EarningsItem.OtherAllowance(System.String,System.Decimal,System.Nullable{System.Decimal},System.Nullable{System.Decimal},System.Nullable{System.Decimal}) for that type.
public static AustralianPayslipV2EarningsItem Allowance(string allowanceType, decimal amount, decimal? units = null, decimal? rate = null, decimal? ytdAmount = null)| Parameter | Type | Description |
|---|---|---|
allowanceType |
System.String |
One of Verifiabl.Client.AustralianAllowanceTypes. |
amount |
System.Decimal |
Wire field amount. |
units |
System.Nullable{System.Decimal} |
Wire field units. |
rate |
System.Nullable{System.Decimal} |
Wire field rate. |
ytdAmount |
System.Nullable{System.Decimal} |
Wire field ytd_amount. |
Returns: Verifiabl.Client.AustralianPayslipV2EarningsItem
OtherAllowance(string, decimal, decimal?, decimal?, decimal?)
Section titled “OtherAllowance(string, decimal, decimal?, decimal?, decimal?)”Method
Create an allowance line of type other with its required category.
public static AustralianPayslipV2EarningsItem OtherAllowance(string otherCategory, decimal amount, decimal? units = null, decimal? rate = null, decimal? ytdAmount = null)| Parameter | Type | Description |
|---|---|---|
otherCategory |
System.String |
One of Verifiabl.Client.AustralianOtherAllowanceCategories. |
amount |
System.Decimal |
Wire field amount. |
units |
System.Nullable{System.Decimal} |
Wire field units. |
rate |
System.Nullable{System.Decimal} |
Wire field rate. |
ytdAmount |
System.Nullable{System.Decimal} |
Wire field ytd_amount. |
Returns: Verifiabl.Client.AustralianPayslipV2EarningsItem
Ordinary(decimal, decimal?, decimal?, decimal?)
Section titled “Ordinary(decimal, decimal?, decimal?, decimal?)”Method
Create an earnings line of type ordinary.
public static AustralianPayslipV2EarningsItem Ordinary(decimal amount, decimal? units = null, decimal? rate = null, decimal? ytdAmount = null)| Parameter | Type | Description |
|---|---|---|
amount |
System.Decimal |
Wire field amount. |
units |
System.Nullable{System.Decimal} |
Wire field units. |
rate |
System.Nullable{System.Decimal} |
Wire field rate. |
ytdAmount |
System.Nullable{System.Decimal} |
Wire field ytd_amount. |
Returns: Verifiabl.Client.AustralianPayslipV2EarningsItem
Overtime(decimal, decimal?, decimal?, decimal?)
Section titled “Overtime(decimal, decimal?, decimal?, decimal?)”Method
Create an earnings line of type overtime.
public static AustralianPayslipV2EarningsItem Overtime(decimal amount, decimal? units = null, decimal? rate = null, decimal? ytdAmount = null)| Parameter | Type | Description |
|---|---|---|
amount |
System.Decimal |
Wire field amount. |
units |
System.Nullable{System.Decimal} |
Wire field units. |
rate |
System.Nullable{System.Decimal} |
Wire field rate. |
ytdAmount |
System.Nullable{System.Decimal} |
Wire field ytd_amount. |
Returns: Verifiabl.Client.AustralianPayslipV2EarningsItem
BonusCommission(decimal, decimal?, decimal?, decimal?)
Section titled “BonusCommission(decimal, decimal?, decimal?, decimal?)”Method
Create an earnings line of type bonus_commission.
public static AustralianPayslipV2EarningsItem BonusCommission(decimal amount, decimal? units = null, decimal? rate = null, decimal? ytdAmount = null)| Parameter | Type | Description |
|---|---|---|
amount |
System.Decimal |
Wire field amount. |
units |
System.Nullable{System.Decimal} |
Wire field units. |
rate |
System.Nullable{System.Decimal} |
Wire field rate. |
ytdAmount |
System.Nullable{System.Decimal} |
Wire field ytd_amount. |
Returns: Verifiabl.Client.AustralianPayslipV2EarningsItem
DirectorsFees(decimal, decimal?, decimal?, decimal?)
Section titled “DirectorsFees(decimal, decimal?, decimal?, decimal?)”Method
Create an earnings line of type directors_fees.
public static AustralianPayslipV2EarningsItem DirectorsFees(decimal amount, decimal? units = null, decimal? rate = null, decimal? ytdAmount = null)| Parameter | Type | Description |
|---|---|---|
amount |
System.Decimal |
Wire field amount. |
units |
System.Nullable{System.Decimal} |
Wire field units. |
rate |
System.Nullable{System.Decimal} |
Wire field rate. |
ytdAmount |
System.Nullable{System.Decimal} |
Wire field ytd_amount. |
Returns: Verifiabl.Client.AustralianPayslipV2EarningsItem
LumpSum(decimal, decimal?, decimal?, decimal?)
Section titled “LumpSum(decimal, decimal?, decimal?, decimal?)”Method
Create an earnings line of type lump_sum.
public static AustralianPayslipV2EarningsItem LumpSum(decimal amount, decimal? units = null, decimal? rate = null, decimal? ytdAmount = null)| Parameter | Type | Description |
|---|---|---|
amount |
System.Decimal |
Wire field amount. |
units |
System.Nullable{System.Decimal} |
Wire field units. |
rate |
System.Nullable{System.Decimal} |
Wire field rate. |
ytdAmount |
System.Nullable{System.Decimal} |
Wire field ytd_amount. |
Returns: Verifiabl.Client.AustralianPayslipV2EarningsItem
ReturnToWork(decimal, decimal?, decimal?, decimal?)
Section titled “ReturnToWork(decimal, decimal?, decimal?, decimal?)”Method
Create an earnings line of type return_to_work.
public static AustralianPayslipV2EarningsItem ReturnToWork(decimal amount, decimal? units = null, decimal? rate = null, decimal? ytdAmount = null)| Parameter | Type | Description |
|---|---|---|
amount |
System.Decimal |
Wire field amount. |
units |
System.Nullable{System.Decimal} |
Wire field units. |
rate |
System.Nullable{System.Decimal} |
Wire field rate. |
ytdAmount |
System.Nullable{System.Decimal} |
Wire field ytd_amount. |
Returns: Verifiabl.Client.AustralianPayslipV2EarningsItem
Other(decimal, decimal?, decimal?, decimal?)
Section titled “Other(decimal, decimal?, decimal?, decimal?)”Method
Create an earnings line of type other.
public static AustralianPayslipV2EarningsItem Other(decimal amount, decimal? units = null, decimal? rate = null, decimal? ytdAmount = null)| Parameter | Type | Description |
|---|---|---|
amount |
System.Decimal |
Wire field amount. |
units |
System.Nullable{System.Decimal} |
Wire field units. |
rate |
System.Nullable{System.Decimal} |
Wire field rate. |
ytdAmount |
System.Nullable{System.Decimal} |
Wire field ytd_amount. |
Returns: Verifiabl.Client.AustralianPayslipV2EarningsItem
Property
Wire field type; see Verifiabl.Client.AustralianEarningsTypes.
[JsonPropertyName("type")]public required string Type { get; init; }Returns: System.String
LeaveType
Section titled “LeaveType”Property
Wire field leave_type; see Verifiabl.Client.AustralianPaidLeaveTypes.
[JsonPropertyName("leave_type")]public string? LeaveType { get; init; }Returns: System.String
Amount
Section titled “Amount”Property
Wire field amount.
[JsonPropertyName("amount")][JsonConverter(typeof(PayslipDecimalConverter))]public required decimal Amount { get; init; }Returns: System.Decimal
Property
Wire field units.
[JsonPropertyName("units")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? Units { get; init; }Returns: System.Nullable{System.Decimal}
Property
Wire field rate.
[JsonPropertyName("rate")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? Rate { get; init; }Returns: System.Nullable{System.Decimal}
YtdAmount
Section titled “YtdAmount”Property
Wire field ytd_amount.
[JsonPropertyName("ytd_amount")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? YtdAmount { get; init; }Returns: System.Nullable{System.Decimal}
AllowanceType
Section titled “AllowanceType”Property
Wire field allowance_type; see Verifiabl.Client.AustralianAllowanceTypes.
[JsonPropertyName("allowance_type")]public string? AllowanceType { get; init; }Returns: System.String
OtherCategory
Section titled “OtherCategory”Property
Wire field other_category; see Verifiabl.Client.AustralianOtherAllowanceCategories.
[JsonPropertyName("other_category")]public string? OtherCategory { get; init; }Returns: System.String
AustralianPayslipV2Hourly
Section titled “AustralianPayslipV2Hourly”Class in Verifiabl.Client
Generated AU/NZ v2 non-PII wire fields; the API validates values.
public sealed class AustralianPayslipV2HourlyInheritance: System.Object
OrdinaryRate
Section titled “OrdinaryRate”Property
Wire field ordinary_rate.
[JsonPropertyName("ordinary_rate")][JsonConverter(typeof(PayslipDecimalConverter))]public required decimal OrdinaryRate { get; init; }Returns: System.Decimal
Property
Wire field hours.
[JsonPropertyName("hours")][JsonConverter(typeof(PayslipDecimalConverter))]public required decimal Hours { get; init; }Returns: System.Decimal
Amount
Section titled “Amount”Property
Wire field amount.
[JsonPropertyName("amount")][JsonConverter(typeof(PayslipDecimalConverter))]public required decimal Amount { get; init; }Returns: System.Decimal
AustralianPayslipV2SalarySacrificeItem
Section titled “AustralianPayslipV2SalarySacrificeItem”Class in Verifiabl.Client
Generated AU/NZ v2 non-PII wire fields; the API validates values.
public sealed class AustralianPayslipV2SalarySacrificeItemInheritance: System.Object
Property
Wire field type; see Verifiabl.Client.AustralianSalarySacrificeTypes.
[JsonPropertyName("type")]public required string Type { get; init; }Returns: System.String
Amount
Section titled “Amount”Property
Wire field amount.
[JsonPropertyName("amount")][JsonConverter(typeof(PayslipDecimalConverter))]public required decimal Amount { get; init; }Returns: System.Decimal
YtdAmount
Section titled “YtdAmount”Property
Wire field ytd_amount.
[JsonPropertyName("ytd_amount")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? YtdAmount { get; init; }Returns: System.Nullable{System.Decimal}
AustralianPayslipV2SuperannuationItem
Section titled “AustralianPayslipV2SuperannuationItem”Class in Verifiabl.Client
Generated AU/NZ v2 non-PII wire fields; the API validates values.
public sealed class AustralianPayslipV2SuperannuationItemInheritance: System.Object
ContributionType
Section titled “ContributionType”Property
Wire field contribution_type; see Verifiabl.Client.AustralianSuperContributionTypes.
[JsonPropertyName("contribution_type")]public required string ContributionType { get; init; }Returns: System.String
Amount
Section titled “Amount”Property
Wire field amount.
[JsonPropertyName("amount")][JsonConverter(typeof(PayslipDecimalConverter))]public required decimal Amount { get; init; }Returns: System.Decimal
Property
Wire field rate.
[JsonPropertyName("rate")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? Rate { get; init; }Returns: System.Nullable{System.Decimal}
YtdAmount
Section titled “YtdAmount”Property
Wire field ytd_amount.
[JsonPropertyName("ytd_amount")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? YtdAmount { get; init; }Returns: System.Nullable{System.Decimal}
Property
Wire field usi.
[JsonPropertyName("usi")]public string? Usi { get; init; }Returns: System.String
AustralianPayslipV2Ytd
Section titled “AustralianPayslipV2Ytd”Class in Verifiabl.Client
Generated AU/NZ v2 non-PII wire fields; the API validates values.
public sealed class AustralianPayslipV2YtdInheritance: System.Object
Taxable
Section titled “Taxable”Property
Wire field taxable.
[JsonPropertyName("taxable")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? Taxable { get; init; }Returns: System.Nullable{System.Decimal}
Property
Wire field super.
[JsonPropertyName("super")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? Super { get; init; }Returns: System.Nullable{System.Decimal}
NonTaxable
Section titled “NonTaxable”Property
Wire field non_taxable.
[JsonPropertyName("non_taxable")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? NonTaxable { get; init; }Returns: System.Nullable{System.Decimal}
PostTaxDeductions
Section titled “PostTaxDeductions”Property
Wire field post_tax_deductions.
[JsonPropertyName("post_tax_deductions")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? PostTaxDeductions { get; init; }Returns: System.Nullable{System.Decimal}
Reimbursements
Section titled “Reimbursements”Property
Wire field reimbursements.
[JsonPropertyName("reimbursements")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? Reimbursements { get; init; }Returns: System.Nullable{System.Decimal}
AustralianSalarySacrificeTypes
Section titled “AustralianSalarySacrificeTypes”Class in Verifiabl.Client
Salary sacrifice type values for au.payslip.v2.
public static class AustralianSalarySacrificeTypesInheritance: System.Object
Field
The super code.
public const string Super = "super"Returns: System.String
Field
The other code.
public const string Other = "other"Returns: System.String
Field
Every accepted value, in contract order.
public static readonly IReadOnlyList<string> AllReturns: System.Collections.Generic.IReadOnlyList{System.String}
AustralianSuperContributionTypes
Section titled “AustralianSuperContributionTypes”Class in Verifiabl.Client
Superannuation contribution_type values for au.payslip.v2.
public static class AustralianSuperContributionTypesInheritance: System.Object
SuperannuationGuarantee
Section titled “SuperannuationGuarantee”Field
The superannuation_guarantee code.
public const string SuperannuationGuarantee = "superannuation_guarantee"Returns: System.String
Field
The resc code.
public const string Resc = "resc"Returns: System.String
SalarySacrifice
Section titled “SalarySacrifice”Field
The salary_sacrifice code.
public const string SalarySacrifice = "salary_sacrifice"Returns: System.String
Field
Every accepted value, in contract order.
public static readonly IReadOnlyList<string> AllReturns: System.Collections.Generic.IReadOnlyList{System.String}
BarcodeImage
Section titled “BarcodeImage”Class in Verifiabl.Client
A barcode image returned by the API.
public sealed class BarcodeImageInheritance: System.Object
Format
Section titled “Format”Property
Image format. Currently always “png”.
public string Format { get; }Returns: System.String
Property
Base64-encoded image bytes.
public string Data { get; }Returns: System.String
BatchRecord
Section titled “BatchRecord”Class in Verifiabl.Client
One record in a Verifiabl.Client.IVerifiablClient.RegisterNonPiiBatchAsync(System.Collections.Generic.IEnumerable{Verifiabl.Client.BatchRecord},System.Threading.CancellationToken) request:
the same fields as Verifiabl.Client.RegisterNonPiiRequest plus a provider-generated
Verifiabl reference from Verifiabl.VerifiablReference.Generate.
public sealed class BatchRecordInheritance: System.Object
VerifiablReference
Section titled “VerifiablReference”Property
Provider-generated Verifiabl reference for this record.
public required string VerifiablReference { get; set; }Returns: System.String
ExternalId
Section titled “ExternalId”Property
Optional caller-supplied correlation id. The API echoes it back on the matching result and never stores it, so you can line up results (and error logs) with your own payslip records by your own id.
public string? ExternalId { get; set; }Returns: System.String
Schema
Section titled “Schema”Property
Non-PII payslip schema identifier, e.g. “au.payslip.v2”. This does not select a PII format.
public required string Schema { get; set; }Returns: System.String
IssuedAt
Section titled “IssuedAt”Property
When the payslip was issued. Sent to the API as an ISO 8601 UTC timestamp; values with an offset are converted to UTC first.
public required DateTimeOffset IssuedAt { get; set; }Returns: System.DateTimeOffset
PayslipNonPii
Section titled “PayslipNonPii”Property
Non-PII payslip data.
public required PayslipNonPii PayslipNonPii { get; set; }Returns: Verifiabl.Client.PayslipNonPii
EncryptionMetadata
Section titled “EncryptionMetadata”Property
Decryption metadata from Verifiabl.VerifiablCrypto.EncryptPii(System.String,System.Byte[]).
public required EncryptionMetadata EncryptionMetadata { get; set; }Returns: Verifiabl.EncryptionMetadata
BatchRecordResult
Section titled “BatchRecordResult”Class in Verifiabl.Client
Per-record outcome of a batch registration, in the same order as the
submitted records (so Results[i] is the outcome of record i).
Verifiabl.Client.BatchRecordResult.Code and Verifiabl.Client.BatchRecordResult.Detail accompany an “error” status.
One bad record never fails the whole batch. Correlate by position, by the
record’s Verifiabl.Client.BatchRecordResult.ExternalId, or by Verifiabl.Client.BatchRecordResult.VerifiablReference.
public sealed class BatchRecordResultInheritance: System.Object
Status
Section titled “Status”Property
Per-record status. Compare against Verifiabl.Client.BatchRecordStatuses; the
API may add statuses over time, so an unknown status flows through rather
than failing the whole response.
public string Status { get; }Returns: System.String
VerifiablReference
Section titled “VerifiablReference”Property
The Verifiabl reference submitted with this record.
public string VerifiablReference { get; }Returns: System.String
ExternalId
Section titled “ExternalId”Property
The record’s caller-supplied external id, echoed back when one was supplied.
public string? ExternalId { get; }Returns: System.String
Property
Machine-readable error code, present when Verifiabl.Client.BatchRecordResult.Status is “error”.
public string? Code { get; }Returns: System.String
Detail
Section titled “Detail”Property
Human-readable error detail, present when Verifiabl.Client.BatchRecordResult.Status is “error”.
public string? Detail { get; }Returns: System.String
IsIvReused
Section titled “IsIvReused”Property
True when the API rejected this record because its encryption IV is already registered to your issuer, either against a stored record or against an earlier record in the same batch (that first record still registers).
The two cases differ only in Verifiabl.Client.BatchRecordResult.Detail, so match on this rather
than on the wording.
The SDK does not re-encrypt and resubmit the record for you. Encrypt the
payslip again with Verifiabl.VerifiablCrypto.EncryptPii(System.String,System.Byte[]) to get a new
IV, resend the record with the new encryption metadata, and rebuild any
barcode that you rendered from the previous ciphertext. Resending the
record unchanged gives the same result.
public bool IsIvReused { get; }Returns: System.Boolean
BatchRecordStatuses
Section titled “BatchRecordStatuses”Class in Verifiabl.Client
Per-record outcome statuses the API returns today. The API may add statuses over time, so treat anything not listed here as a generic outcome rather than an error in your integration.
public static class BatchRecordStatusesInheritance: System.Object
Created
Section titled “Created”Field
The record was newly registered.
public const string Created = "created"Returns: System.String
Duplicate
Section titled “Duplicate”Field
An idempotent resend of identical content.
public const string Duplicate = "duplicate"Returns: System.String
Field
The record failed; see the result’s Code and Detail.
public const string Error = "error"Returns: System.String
IVerifiablClient
Section titled “IVerifiablClient”Interface in Verifiabl.Client
The Verifiabl issuer API. Implemented by Verifiabl.Client.VerifiablClient; take a
dependency on this interface so tests can substitute a fake.
Every failure these methods report derives from Verifiabl.VerifiablException,
so one catch (VerifiablException) covers API errors, auth failures,
timeouts, and transport faults. Invalid arguments still throw
System.ArgumentException before anything is sent, and cancelling the
token you passed still throws System.OperationCanceledException.
Implementations cache OAuth tokens, so register a single instance and reuse it.
public interface IVerifiablClientRegisterNonPiiAsync(RegisterNonPiiRequest, CancellationToken)
Section titled “RegisterNonPiiAsync(RegisterNonPiiRequest, CancellationToken)”Method
Register non-PII payslip data and decryption metadata. Returns the Verifiabl reference to embed in a locally generated barcode.
Task<RegisterNonPiiResponse> RegisterNonPiiAsync(RegisterNonPiiRequest request, CancellationToken cancellationToken = default)| Parameter | Type | Description |
|---|---|---|
request |
Verifiabl.Client.RegisterNonPiiRequest |
The payslip registration. |
cancellationToken |
System.Threading.CancellationToken |
Cancels the call. |
Returns: System.Threading.Tasks.Task{Verifiabl.Client.RegisterNonPiiResponse}
Exceptions
| Type | Condition |
|---|---|
System.ArgumentException |
The request is incomplete or malformed. |
Verifiabl.Client.VerifiablIvReuseException |
The record’s encryption IV is already registered to this issuer. |
Verifiabl.Client.VerifiablApiException |
The API returned a non-2xx response. |
Verifiabl.Client.VerifiablAuthException |
An OAuth token could not be obtained. |
Verifiabl.Client.VerifiablTimeoutException |
The call exceeded the configured timeout. |
Verifiabl.Client.VerifiablTransportException |
A network fault prevented a response, or the response was not usable JSON. |
System.OperationCanceledException |
cancellationToken was cancelled. |
RegisterAndBuildBarcodeAsync(RegisterAndBuildBarcodeRequest, CancellationToken)
Section titled “RegisterAndBuildBarcodeAsync(RegisterAndBuildBarcodeRequest, CancellationToken)”Method
Register non-PII payslip data and have the API build the barcode. Sends the encrypted PII alongside the non-PII data.
Task<RegisterAndBuildBarcodeResponse> RegisterAndBuildBarcodeAsync(RegisterAndBuildBarcodeRequest request, CancellationToken cancellationToken = default)| Parameter | Type | Description |
|---|---|---|
request |
Verifiabl.Client.RegisterAndBuildBarcodeRequest |
The payslip registration, including the ciphertext. |
cancellationToken |
System.Threading.CancellationToken |
Cancels the call. |
Returns: System.Threading.Tasks.Task{Verifiabl.Client.RegisterAndBuildBarcodeResponse}
Exceptions
| Type | Condition |
|---|---|
System.ArgumentException |
The request is incomplete or malformed. |
Verifiabl.Client.VerifiablIvReuseException |
The record’s encryption IV is already registered to this issuer. |
Verifiabl.Client.VerifiablApiException |
The API returned a non-2xx response. |
Verifiabl.Client.VerifiablAuthException |
An OAuth token could not be obtained. |
Verifiabl.Client.VerifiablTimeoutException |
The call exceeded the configured timeout. |
Verifiabl.Client.VerifiablTransportException |
A network fault prevented a response, or the response was not usable JSON. |
System.OperationCanceledException |
cancellationToken was cancelled. |
RegisterNonPiiBatchAsync(IEnumerable<BatchRecord>, CancellationToken)
Section titled “RegisterNonPiiBatchAsync(IEnumerable<BatchRecord>, CancellationToken)”Method
Register a batch of non-PII payslip records in a single request, up to
Verifiabl.Client.VerifiablClient.MaxBatchRecords records. Each record carries a
provider-generated Verifiabl reference (from
Verifiabl.VerifiablReference.Generate) and the same fields as
Verifiabl.Client.IVerifiablClient.RegisterNonPiiAsync(Verifiabl.Client.RegisterNonPiiRequest,System.Threading.CancellationToken). The response contains a per-record
result index-aligned to the input: one bad record never fails the batch.
A record whose encryption IV is already registered to this issuer, or is
repeated within this batch, comes back as an error result matched by
Verifiabl.Client.BatchRecordResult.IsIvReused.
Task<RegisterNonPiiBatchResponse> RegisterNonPiiBatchAsync(IEnumerable<BatchRecord> records, CancellationToken cancellationToken = default)| Parameter | Type | Description |
|---|---|---|
records |
System.Collections.Generic.IEnumerable{Verifiabl.Client.BatchRecord} |
The records to register. |
cancellationToken |
System.Threading.CancellationToken |
Cancels the call. |
Returns: System.Threading.Tasks.Task{Verifiabl.Client.RegisterNonPiiBatchResponse}
Exceptions
| Type | Condition |
|---|---|
System.ArgumentNullException |
records is null. |
System.ArgumentException |
The batch is empty, oversized, or a record is malformed. |
Verifiabl.Client.VerifiablApiException |
The API returned a non-2xx response. |
Verifiabl.Client.VerifiablAuthException |
An OAuth token could not be obtained. |
Verifiabl.Client.VerifiablTimeoutException |
The call exceeded the configured timeout. |
Verifiabl.Client.VerifiablTransportException |
A network fault prevented a response, or the response was not usable JSON. |
System.OperationCanceledException |
cancellationToken was cancelled. |
NewZealandAllowanceTypes
Section titled “NewZealandAllowanceTypes”Class in Verifiabl.Client
Allowance allowance_type values for nz.payslip.v2.
public static class NewZealandAllowanceTypesInheritance: System.Object
Field
The meal code.
public const string Meal = "meal"Returns: System.String
Travel
Section titled “Travel”Field
The travel code.
public const string Travel = "travel"Returns: System.String
Accommodation
Section titled “Accommodation”Field
The accommodation code.
public const string Accommodation = "accommodation"Returns: System.String
Vehicle
Section titled “Vehicle”Field
The vehicle code.
public const string Vehicle = "vehicle"Returns: System.String
Field
The phone code.
public const string Phone = "phone"Returns: System.String
Field
The tools code.
public const string Tools = "tools"Returns: System.String
Uniform
Section titled “Uniform”Field
The uniform code.
public const string Uniform = "uniform"Returns: System.String
OnCall
Section titled “OnCall”Field
The on_call code.
public const string OnCall = "on_call"Returns: System.String
Field
The shift code.
public const string Shift = "shift"Returns: System.String
FirstAid
Section titled “FirstAid”Field
The first_aid code.
public const string FirstAid = "first_aid"Returns: System.String
HigherDuties
Section titled “HigherDuties”Field
The higher_duties code.
public const string HigherDuties = "higher_duties"Returns: System.String
Qualification
Section titled “Qualification”Field
The qualification code.
public const string Qualification = "qualification"Returns: System.String
Field
The other code.
public const string Other = "other"Returns: System.String
Field
Every accepted value, in contract order.
public static readonly IReadOnlyList<string> AllReturns: System.Collections.Generic.IReadOnlyList{System.String}
NewZealandDeductionTypes
Section titled “NewZealandDeductionTypes”Class in Verifiabl.Client
Deduction type values for nz.payslip.v2.
public static class NewZealandDeductionTypesInheritance: System.Object
UnionFees
Section titled “UnionFees”Field
The union_fees code.
public const string UnionFees = "union_fees"Returns: System.String
PayrollDonation
Section titled “PayrollDonation”Field
The payroll_donation code.
public const string PayrollDonation = "payroll_donation"Returns: System.String
AttachmentOrder
Section titled “AttachmentOrder”Field
The attachment_order code.
public const string AttachmentOrder = "attachment_order"Returns: System.String
IrArrears
Section titled “IrArrears”Field
The ir_arrears code.
public const string IrArrears = "ir_arrears"Returns: System.String
OtherPostTax
Section titled “OtherPostTax”Field
The other_post_tax code.
public const string OtherPostTax = "other_post_tax"Returns: System.String
Field
Every accepted value, in contract order.
public static readonly IReadOnlyList<string> AllReturns: System.Collections.Generic.IReadOnlyList{System.String}
NewZealandEarningsTypes
Section titled “NewZealandEarningsTypes”Class in Verifiabl.Client
Earnings line type values for nz.payslip.v2.
public static class NewZealandEarningsTypesInheritance: System.Object
PaidLeave
Section titled “PaidLeave”Field
The paid_leave code.
public const string PaidLeave = "paid_leave"Returns: System.String
Allowance
Section titled “Allowance”Field
The allowance code.
public const string Allowance = "allowance"Returns: System.String
Ordinary
Section titled “Ordinary”Field
The ordinary code.
public const string Ordinary = "ordinary"Returns: System.String
Overtime
Section titled “Overtime”Field
The overtime code.
public const string Overtime = "overtime"Returns: System.String
PenalRate
Section titled “PenalRate”Field
The penal_rate code.
public const string PenalRate = "penal_rate"Returns: System.String
PieceWork
Section titled “PieceWork”Field
The piece_work code.
public const string PieceWork = "piece_work"Returns: System.String
BonusCommission
Section titled “BonusCommission”Field
The bonus_commission code.
public const string BonusCommission = "bonus_commission"Returns: System.String
ExtraPay
Section titled “ExtraPay”Field
The extra_pay code.
public const string ExtraPay = "extra_pay"Returns: System.String
SchedularPayment
Section titled “SchedularPayment”Field
The schedular_payment code.
public const string SchedularPayment = "schedular_payment"Returns: System.String
DirectorsFees
Section titled “DirectorsFees”Field
The directors_fees code.
public const string DirectorsFees = "directors_fees"Returns: System.String
PayAsYouGoHolidayPay
Section titled “PayAsYouGoHolidayPay”Field
The pay_as_you_go_holiday_pay code.
public const string PayAsYouGoHolidayPay = "pay_as_you_go_holiday_pay"Returns: System.String
LeaveCompensationPayment
Section titled “LeaveCompensationPayment”Field
The leave_compensation_payment code.
public const string LeaveCompensationPayment = "leave_compensation_payment"Returns: System.String
AnnualHolidayCashOut
Section titled “AnnualHolidayCashOut”Field
The annual_holiday_cash_out code.
public const string AnnualHolidayCashOut = "annual_holiday_cash_out"Returns: System.String
AlternativeHolidayCashOut
Section titled “AlternativeHolidayCashOut”Field
The alternative_holiday_cash_out code.
public const string AlternativeHolidayCashOut = "alternative_holiday_cash_out"Returns: System.String
HolidayPayOnTermination
Section titled “HolidayPayOnTermination”Field
The holiday_pay_on_termination code.
public const string HolidayPayOnTermination = "holiday_pay_on_termination"Returns: System.String
Field
The other code.
public const string Other = "other"Returns: System.String
Field
Every accepted value, in contract order.
public static readonly IReadOnlyList<string> AllReturns: System.Collections.Generic.IReadOnlyList{System.String}
NewZealandLeaveBalanceUnits
Section titled “NewZealandLeaveBalanceUnits”Class in Verifiabl.Client
Leave balance unit values for nz.payslip.v2.
public static class NewZealandLeaveBalanceUnitsInheritance: System.Object
Field
The hours code.
public const string Hours = "hours"Returns: System.String
Field
The days code.
public const string Days = "days"Returns: System.String
Field
The weeks code.
public const string Weeks = "weeks"Returns: System.String
Field
Every accepted value, in contract order.
public static readonly IReadOnlyList<string> AllReturns: System.Collections.Generic.IReadOnlyList{System.String}
NewZealandPaidLeaveTypes
Section titled “NewZealandPaidLeaveTypes”Class in Verifiabl.Client
Paid leave leave_type values for nz.payslip.v2.
public static class NewZealandPaidLeaveTypesInheritance: System.Object
AnnualHoliday
Section titled “AnnualHoliday”Field
The annual_holiday code.
public const string AnnualHoliday = "annual_holiday"Returns: System.String
PublicHoliday
Section titled “PublicHoliday”Field
The public_holiday code.
public const string PublicHoliday = "public_holiday"Returns: System.String
AlternativeHoliday
Section titled “AlternativeHoliday”Field
The alternative_holiday code.
public const string AlternativeHoliday = "alternative_holiday"Returns: System.String
SickLeave
Section titled “SickLeave”Field
The sick_leave code.
public const string SickLeave = "sick_leave"Returns: System.String
BereavementLeave
Section titled “BereavementLeave”Field
The bereavement_leave code.
public const string BereavementLeave = "bereavement_leave"Returns: System.String
OtherPaidLeave
Section titled “OtherPaidLeave”Field
The other_paid_leave code.
public const string OtherPaidLeave = "other_paid_leave"Returns: System.String
Field
Every accepted value, in contract order.
public static readonly IReadOnlyList<string> AllReturns: System.Collections.Generic.IReadOnlyList{System.String}
NewZealandPayslipV2
Section titled “NewZealandPayslipV2”Class in Verifiabl.Client
Generated AU/NZ v2 non-PII wire fields; the API validates values.
public sealed class NewZealandPayslipV2Inheritance: System.Object
PeriodStart
Section titled “PeriodStart”Property
Wire field period_start: DateOnly on .NET 8 and later, a YYYY-MM-DD string on .NET Framework.
[JsonPropertyName("period_start")][JsonConverter(typeof(PayslipDateConverter))]public DateOnly? PeriodStart { get; init; }Returns: System.Nullable{System.DateOnly}
PeriodEnd
Section titled “PeriodEnd”Property
Wire field period_end: DateOnly on .NET 8 and later, a YYYY-MM-DD string on .NET Framework.
[JsonPropertyName("period_end")][JsonConverter(typeof(PayslipDateConverter))]public required DateOnly PeriodEnd { get; init; }Returns: System.DateOnly
PaymentDate
Section titled “PaymentDate”Property
Wire field payment_date: DateOnly on .NET 8 and later, a YYYY-MM-DD string on .NET Framework.
[JsonPropertyName("payment_date")][JsonConverter(typeof(PayslipDateConverter))]public required DateOnly PaymentDate { get; init; }Returns: System.DateOnly
Currency
Section titled “Currency”Property
Wire field currency; see Verifiabl.Client.PayslipCurrencies.
[JsonPropertyName("currency")]public required string Currency { get; init; }Returns: System.String
Property
Wire field gross.
[JsonPropertyName("gross")][JsonConverter(typeof(PayslipDecimalConverter))]public required decimal Gross { get; init; }Returns: System.Decimal
Property
Wire field paye.
[JsonPropertyName("paye")][JsonConverter(typeof(PayslipDecimalConverter))]public required decimal Paye { get; init; }Returns: System.Decimal
Property
Wire field net.
[JsonPropertyName("net")][JsonConverter(typeof(PayslipDecimalConverter))]public required decimal Net { get; init; }Returns: System.Decimal
YtdGross
Section titled “YtdGross”Property
Wire field ytd_gross.
[JsonPropertyName("ytd_gross")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? YtdGross { get; init; }Returns: System.Nullable{System.Decimal}
YtdPaye
Section titled “YtdPaye”Property
Wire field ytd_paye.
[JsonPropertyName("ytd_paye")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? YtdPaye { get; init; }Returns: System.Nullable{System.Decimal}
PayCycle
Section titled “PayCycle”Property
Wire field pay_cycle.
[JsonPropertyName("pay_cycle")]public string? PayCycle { get; init; }Returns: System.String
TaxCode
Section titled “TaxCode”Property
Wire field tax_code.
[JsonPropertyName("tax_code")]public string? TaxCode { get; init; }Returns: System.String
EmploymentType
Section titled “EmploymentType”Property
Wire field employment_type.
[JsonPropertyName("employment_type")]public string? EmploymentType { get; init; }Returns: System.String
HoursPaid
Section titled “HoursPaid”Property
Wire field hours_paid.
[JsonPropertyName("hours_paid")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? HoursPaid { get; init; }Returns: System.Nullable{System.Decimal}
Hourly
Section titled “Hourly”Property
Wire field hourly.
[JsonPropertyName("hourly")]public NewZealandPayslipV2Hourly? Hourly { get; init; }Returns: Verifiabl.Client.NewZealandPayslipV2Hourly
AnnualRate
Section titled “AnnualRate”Property
Wire field annual_rate.
[JsonPropertyName("annual_rate")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? AnnualRate { get; init; }Returns: System.Nullable{System.Decimal}
EarningsNotLiableForAcc
Section titled “EarningsNotLiableForAcc”Property
Wire field earnings_not_liable_for_acc.
[JsonPropertyName("earnings_not_liable_for_acc")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? EarningsNotLiableForAcc { get; init; }Returns: System.Nullable{System.Decimal}
Earnings
Section titled “Earnings”Property
Wire field earnings.
[JsonPropertyName("earnings")]public IReadOnlyList<NewZealandPayslipV2EarningsItem>? Earnings { get; init; }Returns: System.Collections.Generic.IReadOnlyList{Verifiabl.Client.NewZealandPayslipV2EarningsItem}
EmployeeShareScheme
Section titled “EmployeeShareScheme”Property
Wire field employee_share_scheme.
[JsonPropertyName("employee_share_scheme")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? EmployeeShareScheme { get; init; }Returns: System.Nullable{System.Decimal}
PriorPeriodGrossAdjustment
Section titled “PriorPeriodGrossAdjustment”Property
Wire field prior_period_gross_adjustment.
[JsonPropertyName("prior_period_gross_adjustment")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? PriorPeriodGrossAdjustment { get; init; }Returns: System.Nullable{System.Decimal}
PriorPeriodPayeAdjustment
Section titled “PriorPeriodPayeAdjustment”Property
Wire field prior_period_paye_adjustment.
[JsonPropertyName("prior_period_paye_adjustment")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? PriorPeriodPayeAdjustment { get; init; }Returns: System.Nullable{System.Decimal}
PayrollDonationTaxCredit
Section titled “PayrollDonationTaxCredit”Property
Wire field payroll_donation_tax_credit.
[JsonPropertyName("payroll_donation_tax_credit")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? PayrollDonationTaxCredit { get; init; }Returns: System.Nullable{System.Decimal}
StudentLoan
Section titled “StudentLoan”Property
Wire field student_loan.
[JsonPropertyName("student_loan")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? StudentLoan { get; init; }Returns: System.Nullable{System.Decimal}
Property
Wire field slcir.
[JsonPropertyName("slcir")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? Slcir { get; init; }Returns: System.Nullable{System.Decimal}
Property
Wire field slbor.
[JsonPropertyName("slbor")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? Slbor { get; init; }Returns: System.Nullable{System.Decimal}
ChildSupport
Section titled “ChildSupport”Property
Wire field child_support.
[JsonPropertyName("child_support")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? ChildSupport { get; init; }Returns: System.Nullable{System.Decimal}
KiwisaverEmployeeDeduction
Section titled “KiwisaverEmployeeDeduction”Property
Wire field kiwisaver_employee_deduction.
[JsonPropertyName("kiwisaver_employee_deduction")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? KiwisaverEmployeeDeduction { get; init; }Returns: System.Nullable{System.Decimal}
KiwisaverEmployeeRate
Section titled “KiwisaverEmployeeRate”Property
Wire field kiwisaver_employee_rate.
[JsonPropertyName("kiwisaver_employee_rate")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? KiwisaverEmployeeRate { get; init; }Returns: System.Nullable{System.Decimal}
KiwisaverEmployerContribution
Section titled “KiwisaverEmployerContribution”Property
Wire field kiwisaver_employer_contribution.
[JsonPropertyName("kiwisaver_employer_contribution")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? KiwisaverEmployerContribution { get; init; }Returns: System.Nullable{System.Decimal}
Property
Wire field esct.
[JsonPropertyName("esct")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? Esct { get; init; }Returns: System.Nullable{System.Decimal}
Deductions
Section titled “Deductions”Property
Wire field deductions.
[JsonPropertyName("deductions")]public IReadOnlyList<NewZealandPayslipV2DeductionsItem>? Deductions { get; init; }Returns: System.Collections.Generic.IReadOnlyList{Verifiabl.Client.NewZealandPayslipV2DeductionsItem}
Reimbursements
Section titled “Reimbursements”Property
Wire field reimbursements.
[JsonPropertyName("reimbursements")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? Reimbursements { get; init; }Returns: System.Nullable{System.Decimal}
LeaveBalances
Section titled “LeaveBalances”Property
Wire field leave_balances.
[JsonPropertyName("leave_balances")]public NewZealandPayslipV2LeaveBalances? LeaveBalances { get; init; }Returns: Verifiabl.Client.NewZealandPayslipV2LeaveBalances
Property
Wire field ytd.
[JsonPropertyName("ytd")]public NewZealandPayslipV2Ytd? Ytd { get; init; }Returns: Verifiabl.Client.NewZealandPayslipV2Ytd
NewZealandPayslipV2DeductionsItem
Section titled “NewZealandPayslipV2DeductionsItem”Class in Verifiabl.Client
Generated AU/NZ v2 non-PII wire fields; the API validates values.
public sealed class NewZealandPayslipV2DeductionsItemInheritance: System.Object
Property
Wire field type; see Verifiabl.Client.NewZealandDeductionTypes.
[JsonPropertyName("type")]public required string Type { get; init; }Returns: System.String
Amount
Section titled “Amount”Property
Wire field amount.
[JsonPropertyName("amount")][JsonConverter(typeof(PayslipDecimalConverter))]public required decimal Amount { get; init; }Returns: System.Decimal
YtdAmount
Section titled “YtdAmount”Property
Wire field ytd_amount.
[JsonPropertyName("ytd_amount")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? YtdAmount { get; init; }Returns: System.Nullable{System.Decimal}
NewZealandPayslipV2EarningsItem
Section titled “NewZealandPayslipV2EarningsItem”Class in Verifiabl.Client
Generated AU/NZ v2 non-PII wire fields; the API validates values.
public sealed class NewZealandPayslipV2EarningsItemInheritance: System.Object
PaidLeave(string, decimal, decimal?, decimal?, decimal?)
Section titled “PaidLeave(string, decimal, decimal?, decimal?, decimal?)”Method
Create an earnings line of type paid_leave.
public static NewZealandPayslipV2EarningsItem PaidLeave(string leaveType, decimal amount, decimal? units = null, decimal? rate = null, decimal? ytdAmount = null)| Parameter | Type | Description |
|---|---|---|
leaveType |
System.String |
One of Verifiabl.Client.NewZealandPaidLeaveTypes. |
amount |
System.Decimal |
Wire field amount. |
units |
System.Nullable{System.Decimal} |
Wire field units. |
rate |
System.Nullable{System.Decimal} |
Wire field rate. |
ytdAmount |
System.Nullable{System.Decimal} |
Wire field ytd_amount. |
Returns: Verifiabl.Client.NewZealandPayslipV2EarningsItem
Allowance(string, decimal, decimal?, decimal?, decimal?)
Section titled “Allowance(string, decimal, decimal?, decimal?, decimal?)”Method
Create an earnings line of type allowance.
public static NewZealandPayslipV2EarningsItem Allowance(string allowanceType, decimal amount, decimal? units = null, decimal? rate = null, decimal? ytdAmount = null)| Parameter | Type | Description |
|---|---|---|
allowanceType |
System.String |
One of Verifiabl.Client.NewZealandAllowanceTypes. |
amount |
System.Decimal |
Wire field amount. |
units |
System.Nullable{System.Decimal} |
Wire field units. |
rate |
System.Nullable{System.Decimal} |
Wire field rate. |
ytdAmount |
System.Nullable{System.Decimal} |
Wire field ytd_amount. |
Returns: Verifiabl.Client.NewZealandPayslipV2EarningsItem
Ordinary(decimal, decimal?, decimal?, decimal?)
Section titled “Ordinary(decimal, decimal?, decimal?, decimal?)”Method
Create an earnings line of type ordinary.
public static NewZealandPayslipV2EarningsItem Ordinary(decimal amount, decimal? units = null, decimal? rate = null, decimal? ytdAmount = null)| Parameter | Type | Description |
|---|---|---|
amount |
System.Decimal |
Wire field amount. |
units |
System.Nullable{System.Decimal} |
Wire field units. |
rate |
System.Nullable{System.Decimal} |
Wire field rate. |
ytdAmount |
System.Nullable{System.Decimal} |
Wire field ytd_amount. |
Returns: Verifiabl.Client.NewZealandPayslipV2EarningsItem
Overtime(decimal, decimal?, decimal?, decimal?)
Section titled “Overtime(decimal, decimal?, decimal?, decimal?)”Method
Create an earnings line of type overtime.
public static NewZealandPayslipV2EarningsItem Overtime(decimal amount, decimal? units = null, decimal? rate = null, decimal? ytdAmount = null)| Parameter | Type | Description |
|---|---|---|
amount |
System.Decimal |
Wire field amount. |
units |
System.Nullable{System.Decimal} |
Wire field units. |
rate |
System.Nullable{System.Decimal} |
Wire field rate. |
ytdAmount |
System.Nullable{System.Decimal} |
Wire field ytd_amount. |
Returns: Verifiabl.Client.NewZealandPayslipV2EarningsItem
PenalRate(decimal, decimal?, decimal?, decimal?)
Section titled “PenalRate(decimal, decimal?, decimal?, decimal?)”Method
Create an earnings line of type penal_rate.
public static NewZealandPayslipV2EarningsItem PenalRate(decimal amount, decimal? units = null, decimal? rate = null, decimal? ytdAmount = null)| Parameter | Type | Description |
|---|---|---|
amount |
System.Decimal |
Wire field amount. |
units |
System.Nullable{System.Decimal} |
Wire field units. |
rate |
System.Nullable{System.Decimal} |
Wire field rate. |
ytdAmount |
System.Nullable{System.Decimal} |
Wire field ytd_amount. |
Returns: Verifiabl.Client.NewZealandPayslipV2EarningsItem
PieceWork(decimal, decimal?, decimal?, decimal?)
Section titled “PieceWork(decimal, decimal?, decimal?, decimal?)”Method
Create an earnings line of type piece_work.
public static NewZealandPayslipV2EarningsItem PieceWork(decimal amount, decimal? units = null, decimal? rate = null, decimal? ytdAmount = null)| Parameter | Type | Description |
|---|---|---|
amount |
System.Decimal |
Wire field amount. |
units |
System.Nullable{System.Decimal} |
Wire field units. |
rate |
System.Nullable{System.Decimal} |
Wire field rate. |
ytdAmount |
System.Nullable{System.Decimal} |
Wire field ytd_amount. |
Returns: Verifiabl.Client.NewZealandPayslipV2EarningsItem
BonusCommission(decimal, decimal?, decimal?, decimal?)
Section titled “BonusCommission(decimal, decimal?, decimal?, decimal?)”Method
Create an earnings line of type bonus_commission.
public static NewZealandPayslipV2EarningsItem BonusCommission(decimal amount, decimal? units = null, decimal? rate = null, decimal? ytdAmount = null)| Parameter | Type | Description |
|---|---|---|
amount |
System.Decimal |
Wire field amount. |
units |
System.Nullable{System.Decimal} |
Wire field units. |
rate |
System.Nullable{System.Decimal} |
Wire field rate. |
ytdAmount |
System.Nullable{System.Decimal} |
Wire field ytd_amount. |
Returns: Verifiabl.Client.NewZealandPayslipV2EarningsItem
ExtraPay(decimal, decimal?, decimal?, decimal?)
Section titled “ExtraPay(decimal, decimal?, decimal?, decimal?)”Method
Create an earnings line of type extra_pay.
public static NewZealandPayslipV2EarningsItem ExtraPay(decimal amount, decimal? units = null, decimal? rate = null, decimal? ytdAmount = null)| Parameter | Type | Description |
|---|---|---|
amount |
System.Decimal |
Wire field amount. |
units |
System.Nullable{System.Decimal} |
Wire field units. |
rate |
System.Nullable{System.Decimal} |
Wire field rate. |
ytdAmount |
System.Nullable{System.Decimal} |
Wire field ytd_amount. |
Returns: Verifiabl.Client.NewZealandPayslipV2EarningsItem
SchedularPayment(decimal, decimal?, decimal?, decimal?)
Section titled “SchedularPayment(decimal, decimal?, decimal?, decimal?)”Method
Create an earnings line of type schedular_payment.
public static NewZealandPayslipV2EarningsItem SchedularPayment(decimal amount, decimal? units = null, decimal? rate = null, decimal? ytdAmount = null)| Parameter | Type | Description |
|---|---|---|
amount |
System.Decimal |
Wire field amount. |
units |
System.Nullable{System.Decimal} |
Wire field units. |
rate |
System.Nullable{System.Decimal} |
Wire field rate. |
ytdAmount |
System.Nullable{System.Decimal} |
Wire field ytd_amount. |
Returns: Verifiabl.Client.NewZealandPayslipV2EarningsItem
DirectorsFees(decimal, decimal?, decimal?, decimal?)
Section titled “DirectorsFees(decimal, decimal?, decimal?, decimal?)”Method
Create an earnings line of type directors_fees.
public static NewZealandPayslipV2EarningsItem DirectorsFees(decimal amount, decimal? units = null, decimal? rate = null, decimal? ytdAmount = null)| Parameter | Type | Description |
|---|---|---|
amount |
System.Decimal |
Wire field amount. |
units |
System.Nullable{System.Decimal} |
Wire field units. |
rate |
System.Nullable{System.Decimal} |
Wire field rate. |
ytdAmount |
System.Nullable{System.Decimal} |
Wire field ytd_amount. |
Returns: Verifiabl.Client.NewZealandPayslipV2EarningsItem
PayAsYouGoHolidayPay(decimal, decimal?, decimal?, decimal?)
Section titled “PayAsYouGoHolidayPay(decimal, decimal?, decimal?, decimal?)”Method
Create an earnings line of type pay_as_you_go_holiday_pay.
public static NewZealandPayslipV2EarningsItem PayAsYouGoHolidayPay(decimal amount, decimal? units = null, decimal? rate = null, decimal? ytdAmount = null)| Parameter | Type | Description |
|---|---|---|
amount |
System.Decimal |
Wire field amount. |
units |
System.Nullable{System.Decimal} |
Wire field units. |
rate |
System.Nullable{System.Decimal} |
Wire field rate. |
ytdAmount |
System.Nullable{System.Decimal} |
Wire field ytd_amount. |
Returns: Verifiabl.Client.NewZealandPayslipV2EarningsItem
LeaveCompensationPayment(decimal, decimal?, decimal?, decimal?)
Section titled “LeaveCompensationPayment(decimal, decimal?, decimal?, decimal?)”Method
Create an earnings line of type leave_compensation_payment.
public static NewZealandPayslipV2EarningsItem LeaveCompensationPayment(decimal amount, decimal? units = null, decimal? rate = null, decimal? ytdAmount = null)| Parameter | Type | Description |
|---|---|---|
amount |
System.Decimal |
Wire field amount. |
units |
System.Nullable{System.Decimal} |
Wire field units. |
rate |
System.Nullable{System.Decimal} |
Wire field rate. |
ytdAmount |
System.Nullable{System.Decimal} |
Wire field ytd_amount. |
Returns: Verifiabl.Client.NewZealandPayslipV2EarningsItem
AnnualHolidayCashOut(decimal, decimal?, decimal?, decimal?)
Section titled “AnnualHolidayCashOut(decimal, decimal?, decimal?, decimal?)”Method
Create an earnings line of type annual_holiday_cash_out.
public static NewZealandPayslipV2EarningsItem AnnualHolidayCashOut(decimal amount, decimal? units = null, decimal? rate = null, decimal? ytdAmount = null)| Parameter | Type | Description |
|---|---|---|
amount |
System.Decimal |
Wire field amount. |
units |
System.Nullable{System.Decimal} |
Wire field units. |
rate |
System.Nullable{System.Decimal} |
Wire field rate. |
ytdAmount |
System.Nullable{System.Decimal} |
Wire field ytd_amount. |
Returns: Verifiabl.Client.NewZealandPayslipV2EarningsItem
AlternativeHolidayCashOut(decimal, decimal?, decimal?, decimal?)
Section titled “AlternativeHolidayCashOut(decimal, decimal?, decimal?, decimal?)”Method
Create an earnings line of type alternative_holiday_cash_out.
public static NewZealandPayslipV2EarningsItem AlternativeHolidayCashOut(decimal amount, decimal? units = null, decimal? rate = null, decimal? ytdAmount = null)| Parameter | Type | Description |
|---|---|---|
amount |
System.Decimal |
Wire field amount. |
units |
System.Nullable{System.Decimal} |
Wire field units. |
rate |
System.Nullable{System.Decimal} |
Wire field rate. |
ytdAmount |
System.Nullable{System.Decimal} |
Wire field ytd_amount. |
Returns: Verifiabl.Client.NewZealandPayslipV2EarningsItem
HolidayPayOnTermination(decimal, decimal?, decimal?, decimal?)
Section titled “HolidayPayOnTermination(decimal, decimal?, decimal?, decimal?)”Method
Create an earnings line of type holiday_pay_on_termination.
public static NewZealandPayslipV2EarningsItem HolidayPayOnTermination(decimal amount, decimal? units = null, decimal? rate = null, decimal? ytdAmount = null)| Parameter | Type | Description |
|---|---|---|
amount |
System.Decimal |
Wire field amount. |
units |
System.Nullable{System.Decimal} |
Wire field units. |
rate |
System.Nullable{System.Decimal} |
Wire field rate. |
ytdAmount |
System.Nullable{System.Decimal} |
Wire field ytd_amount. |
Returns: Verifiabl.Client.NewZealandPayslipV2EarningsItem
Other(decimal, decimal?, decimal?, decimal?)
Section titled “Other(decimal, decimal?, decimal?, decimal?)”Method
Create an earnings line of type other.
public static NewZealandPayslipV2EarningsItem Other(decimal amount, decimal? units = null, decimal? rate = null, decimal? ytdAmount = null)| Parameter | Type | Description |
|---|---|---|
amount |
System.Decimal |
Wire field amount. |
units |
System.Nullable{System.Decimal} |
Wire field units. |
rate |
System.Nullable{System.Decimal} |
Wire field rate. |
ytdAmount |
System.Nullable{System.Decimal} |
Wire field ytd_amount. |
Returns: Verifiabl.Client.NewZealandPayslipV2EarningsItem
Property
Wire field type; see Verifiabl.Client.NewZealandEarningsTypes.
[JsonPropertyName("type")]public required string Type { get; init; }Returns: System.String
LeaveType
Section titled “LeaveType”Property
Wire field leave_type; see Verifiabl.Client.NewZealandPaidLeaveTypes.
[JsonPropertyName("leave_type")]public string? LeaveType { get; init; }Returns: System.String
Amount
Section titled “Amount”Property
Wire field amount.
[JsonPropertyName("amount")][JsonConverter(typeof(PayslipDecimalConverter))]public required decimal Amount { get; init; }Returns: System.Decimal
Property
Wire field units.
[JsonPropertyName("units")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? Units { get; init; }Returns: System.Nullable{System.Decimal}
Property
Wire field rate.
[JsonPropertyName("rate")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? Rate { get; init; }Returns: System.Nullable{System.Decimal}
YtdAmount
Section titled “YtdAmount”Property
Wire field ytd_amount.
[JsonPropertyName("ytd_amount")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? YtdAmount { get; init; }Returns: System.Nullable{System.Decimal}
AllowanceType
Section titled “AllowanceType”Property
Wire field allowance_type; see Verifiabl.Client.NewZealandAllowanceTypes.
[JsonPropertyName("allowance_type")]public string? AllowanceType { get; init; }Returns: System.String
NewZealandPayslipV2Hourly
Section titled “NewZealandPayslipV2Hourly”Class in Verifiabl.Client
Generated AU/NZ v2 non-PII wire fields; the API validates values.
public sealed class NewZealandPayslipV2HourlyInheritance: System.Object
OrdinaryRate
Section titled “OrdinaryRate”Property
Wire field ordinary_rate.
[JsonPropertyName("ordinary_rate")][JsonConverter(typeof(PayslipDecimalConverter))]public required decimal OrdinaryRate { get; init; }Returns: System.Decimal
Property
Wire field hours.
[JsonPropertyName("hours")][JsonConverter(typeof(PayslipDecimalConverter))]public required decimal Hours { get; init; }Returns: System.Decimal
Amount
Section titled “Amount”Property
Wire field amount.
[JsonPropertyName("amount")][JsonConverter(typeof(PayslipDecimalConverter))]public required decimal Amount { get; init; }Returns: System.Decimal
NewZealandPayslipV2LeaveBalances
Section titled “NewZealandPayslipV2LeaveBalances”Class in Verifiabl.Client
Generated AU/NZ v2 non-PII wire fields; the API validates values.
public sealed class NewZealandPayslipV2LeaveBalancesInheritance: System.Object
Annual
Section titled “Annual”Property
Wire field annual.
[JsonPropertyName("annual")]public NewZealandPayslipV2LeaveBalancesAnnual? Annual { get; init; }Returns: Verifiabl.Client.NewZealandPayslipV2LeaveBalancesAnnual
AnnualAccruedThisPeriod
Section titled “AnnualAccruedThisPeriod”Property
Wire field annual_accrued_this_period.
[JsonPropertyName("annual_accrued_this_period")]public NewZealandPayslipV2LeaveBalancesAnnualAccruedThisPeriod? AnnualAccruedThisPeriod { get; init; }Returns: Verifiabl.Client.NewZealandPayslipV2LeaveBalancesAnnualAccruedThisPeriod
Property
Wire field sick.
[JsonPropertyName("sick")]public NewZealandPayslipV2LeaveBalancesSick? Sick { get; init; }Returns: Verifiabl.Client.NewZealandPayslipV2LeaveBalancesSick
SickAccruedThisPeriod
Section titled “SickAccruedThisPeriod”Property
Wire field sick_accrued_this_period.
[JsonPropertyName("sick_accrued_this_period")]public NewZealandPayslipV2LeaveBalancesSickAccruedThisPeriod? SickAccruedThisPeriod { get; init; }Returns: Verifiabl.Client.NewZealandPayslipV2LeaveBalancesSickAccruedThisPeriod
Alternative
Section titled “Alternative”Property
Wire field alternative.
[JsonPropertyName("alternative")]public NewZealandPayslipV2LeaveBalancesAlternative? Alternative { get; init; }Returns: Verifiabl.Client.NewZealandPayslipV2LeaveBalancesAlternative
NewZealandPayslipV2LeaveBalancesAlternative
Section titled “NewZealandPayslipV2LeaveBalancesAlternative”Class in Verifiabl.Client
Generated AU/NZ v2 non-PII wire fields; the API validates values.
public sealed class NewZealandPayslipV2LeaveBalancesAlternativeInheritance: System.Object
Amount
Section titled “Amount”Property
Wire field amount.
[JsonPropertyName("amount")][JsonConverter(typeof(PayslipDecimalConverter))]public required decimal Amount { get; init; }Returns: System.Decimal
Property
Wire field unit; see Verifiabl.Client.NewZealandLeaveBalanceUnits.
[JsonPropertyName("unit")]public required string Unit { get; init; }Returns: System.String
NewZealandPayslipV2LeaveBalancesAnnual
Section titled “NewZealandPayslipV2LeaveBalancesAnnual”Class in Verifiabl.Client
Generated AU/NZ v2 non-PII wire fields; the API validates values.
public sealed class NewZealandPayslipV2LeaveBalancesAnnualInheritance: System.Object
Amount
Section titled “Amount”Property
Wire field amount.
[JsonPropertyName("amount")][JsonConverter(typeof(PayslipDecimalConverter))]public required decimal Amount { get; init; }Returns: System.Decimal
Property
Wire field unit; see Verifiabl.Client.NewZealandLeaveBalanceUnits.
[JsonPropertyName("unit")]public required string Unit { get; init; }Returns: System.String
NewZealandPayslipV2LeaveBalancesAnnualAccruedThisPeriod
Section titled “NewZealandPayslipV2LeaveBalancesAnnualAccruedThisPeriod”Class in Verifiabl.Client
Generated AU/NZ v2 non-PII wire fields; the API validates values.
public sealed class NewZealandPayslipV2LeaveBalancesAnnualAccruedThisPeriodInheritance: System.Object
Amount
Section titled “Amount”Property
Wire field amount.
[JsonPropertyName("amount")][JsonConverter(typeof(PayslipDecimalConverter))]public required decimal Amount { get; init; }Returns: System.Decimal
Property
Wire field unit; see Verifiabl.Client.NewZealandLeaveBalanceUnits.
[JsonPropertyName("unit")]public required string Unit { get; init; }Returns: System.String
NewZealandPayslipV2LeaveBalancesSick
Section titled “NewZealandPayslipV2LeaveBalancesSick”Class in Verifiabl.Client
Generated AU/NZ v2 non-PII wire fields; the API validates values.
public sealed class NewZealandPayslipV2LeaveBalancesSickInheritance: System.Object
Amount
Section titled “Amount”Property
Wire field amount.
[JsonPropertyName("amount")][JsonConverter(typeof(PayslipDecimalConverter))]public required decimal Amount { get; init; }Returns: System.Decimal
Property
Wire field unit; see Verifiabl.Client.NewZealandLeaveBalanceUnits.
[JsonPropertyName("unit")]public required string Unit { get; init; }Returns: System.String
NewZealandPayslipV2LeaveBalancesSickAccruedThisPeriod
Section titled “NewZealandPayslipV2LeaveBalancesSickAccruedThisPeriod”Class in Verifiabl.Client
Generated AU/NZ v2 non-PII wire fields; the API validates values.
public sealed class NewZealandPayslipV2LeaveBalancesSickAccruedThisPeriodInheritance: System.Object
Amount
Section titled “Amount”Property
Wire field amount.
[JsonPropertyName("amount")][JsonConverter(typeof(PayslipDecimalConverter))]public required decimal Amount { get; init; }Returns: System.Decimal
Property
Wire field unit; see Verifiabl.Client.NewZealandLeaveBalanceUnits.
[JsonPropertyName("unit")]public required string Unit { get; init; }Returns: System.String
NewZealandPayslipV2Ytd
Section titled “NewZealandPayslipV2Ytd”Class in Verifiabl.Client
Generated AU/NZ v2 non-PII wire fields; the API validates values.
public sealed class NewZealandPayslipV2YtdInheritance: System.Object
StudentLoan
Section titled “StudentLoan”Property
Wire field student_loan.
[JsonPropertyName("student_loan")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? StudentLoan { get; init; }Returns: System.Nullable{System.Decimal}
KiwisaverEmployee
Section titled “KiwisaverEmployee”Property
Wire field kiwisaver_employee.
[JsonPropertyName("kiwisaver_employee")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? KiwisaverEmployee { get; init; }Returns: System.Nullable{System.Decimal}
KiwisaverEmployer
Section titled “KiwisaverEmployer”Property
Wire field kiwisaver_employer.
[JsonPropertyName("kiwisaver_employer")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? KiwisaverEmployer { get; init; }Returns: System.Nullable{System.Decimal}
ChildSupport
Section titled “ChildSupport”Property
Wire field child_support.
[JsonPropertyName("child_support")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? ChildSupport { get; init; }Returns: System.Nullable{System.Decimal}
NonTaxable
Section titled “NonTaxable”Property
Wire field non_taxable.
[JsonPropertyName("non_taxable")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? NonTaxable { get; init; }Returns: System.Nullable{System.Decimal}
PostTaxDeductions
Section titled “PostTaxDeductions”Property
Wire field post_tax_deductions.
[JsonPropertyName("post_tax_deductions")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? PostTaxDeductions { get; init; }Returns: System.Nullable{System.Decimal}
Reimbursements
Section titled “Reimbursements”Property
Wire field reimbursements.
[JsonPropertyName("reimbursements")][JsonConverter(typeof(PayslipDecimalConverter))]public decimal? Reimbursements { get; init; }Returns: System.Nullable{System.Decimal}
PayslipCurrencies
Section titled “PayslipCurrencies”Class in Verifiabl.Client
Currency codes accepted by the AU2 and NZ2 payslip schemas. Verifiabl.Client.PayslipCurrencies.All
lists every accepted ISO 4217 code; the named constants are common codes.
public static class PayslipCurrenciesInheritance: System.Object
Field
Every accepted ISO 4217 currency code, in alphabetical order.
public static readonly IReadOnlyList<string> AllReturns: System.Collections.Generic.IReadOnlyList{System.String}
Field
Australian dollar.
public const string Aud = "AUD"Returns: System.String
Field
New Zealand dollar.
public const string Nzd = "NZD"Returns: System.String
Field
United States dollar.
public const string Usd = "USD"Returns: System.String
Field
Pound sterling.
public const string Gbp = "GBP"Returns: System.String
Field
Euro.
public const string Eur = "EUR"Returns: System.String
Field
Canadian dollar.
public const string Cad = "CAD"Returns: System.String
Field
Singapore dollar.
public const string Sgd = "SGD"Returns: System.String
Field
Hong Kong dollar.
public const string Hkd = "HKD"Returns: System.String
Field
Swiss franc.
public const string Chf = "CHF"Returns: System.String
Field
South African rand.
public const string Zar = "ZAR"Returns: System.String
PayslipNonPii
Section titled “PayslipNonPii”Class in Verifiabl.Client
Non-PII payslip data. Verifiabl.Client.PayslipNonPii.PeriodEnd is required (YYYY-MM-DD).
Verifiabl.Client.PayslipNonPii.PeriodStart is required for v1 schemas and optional for v2.
Use Verifiabl.Client.PayslipNonPii.FromAustralianV2(Verifiabl.Client.AustralianPayslipV2) or Verifiabl.Client.PayslipNonPii.FromNewZealandV2(Verifiabl.Client.NewZealandPayslipV2) for
v2 payloads. They serialize only generated fields, send each amount as an
exact decimal string and each date as YYYY-MM-DD, and require an ISO 4217
currency; the API validates the other values.
Verifiabl.Client.PayslipNonPii.AdditionalData is for legacy or future-schema pass-through.
public sealed class PayslipNonPiiInheritance: System.Object
PeriodStart
Section titled “PeriodStart”Property
First day of the pay period, YYYY-MM-DD. Required for v1 schemas and omitted for a v2 payslip that prints only a period end.
For a typed v2 payload this is a copy of the payload’s date. The request sends the payload, so setting this property has no effect.
public string? PeriodStart { get; set; }Returns: System.String
PeriodEnd
Section titled “PeriodEnd”Property
Last day of the pay period, YYYY-MM-DD.
For a typed v2 payload this is a copy of the payload’s date. The request sends the payload, so setting this property has no effect.
public required string PeriodEnd { get; set; }Returns: System.String
AdditionalData
Section titled “AdditionalData”Property
Free-form non-PII fields for v1 or future schemas, not supported for known v2 profiles.
Values may be <a href=“https://learn.microsoft.com/dotnet/csharp/language-reference/keywords/null">null</a>, System.String,
System.Boolean, numeric primitives (System.SByte,
System.Byte, System.Int16, System.UInt16,
System.Int32, System.UInt32, System.Int64,
System.UInt64, System.Single, System.Double,
System.Decimal), nested string-keyed dictionaries, or sequences
of these values. Other types (including dates and custom objects) throw
an System.ArgumentException naming the offending key.
public IDictionary<string, object?>? AdditionalData { get; set; }Returns: System.Collections.Generic.IDictionary{System.String,System.Object}
FromAustralianV2(AustralianPayslipV2)
Section titled “FromAustralianV2(AustralianPayslipV2)”Method
Create a typed Australian v2 payload without free-form fields.
public static PayslipNonPii FromAustralianV2(AustralianPayslipV2 payload)| Parameter | Type | Description |
|---|---|---|
payload |
Verifiabl.Client.AustralianPayslipV2 |
Returns: Verifiabl.Client.PayslipNonPii
FromNewZealandV2(NewZealandPayslipV2)
Section titled “FromNewZealandV2(NewZealandPayslipV2)”Method
Create a typed New Zealand v2 payload without free-form fields.
public static PayslipNonPii FromNewZealandV2(NewZealandPayslipV2 payload)| Parameter | Type | Description |
|---|---|---|
payload |
Verifiabl.Client.NewZealandPayslipV2 |
Returns: Verifiabl.Client.PayslipNonPii
PayslipSchemas
Section titled “PayslipSchemas”Class in Verifiabl.Client
Canonical payslip schema identifiers accepted by the issuer API.
public static class PayslipSchemasInheritance: System.Object
AustralianV1
Section titled “AustralianV1”Field
Frozen Australian v1 schema.
public const string AustralianV1 = "au.payslip.v1"Returns: System.String
AustralianV2
Section titled “AustralianV2”Field
Australian v2 schema.
public const string AustralianV2 = "au.payslip.v2"Returns: System.String
NewZealandV1
Section titled “NewZealandV1”Field
Frozen New Zealand v1 schema.
public const string NewZealandV1 = "nz.payslip.v1"Returns: System.String
NewZealandV2
Section titled “NewZealandV2”Field
New Zealand v2 schema.
public const string NewZealandV2 = "nz.payslip.v2"Returns: System.String
RegisterAndBuildBarcodeRequest
Section titled “RegisterAndBuildBarcodeRequest”Class in Verifiabl.Client
Request for Verifiabl.Client.IVerifiablClient.RegisterAndBuildBarcodeAsync(Verifiabl.Client.RegisterAndBuildBarcodeRequest,System.Threading.CancellationToken). This API-managed
flow also sends the ciphertext, and the server returns a ready-made barcode image.
public sealed class RegisterAndBuildBarcodeRequestInheritance: System.Object
Schema
Section titled “Schema”Property
Non-PII payslip schema identifier, e.g. “au.payslip.v2”. This does not select a PII format.
public required string Schema { get; set; }Returns: System.String
IssuedAt
Section titled “IssuedAt”Property
When the payslip was issued. Sent to the API as an ISO 8601 UTC timestamp; values with an offset are converted to UTC first.
public required DateTimeOffset IssuedAt { get; set; }Returns: System.DateTimeOffset
PayslipNonPii
Section titled “PayslipNonPii”Property
Non-PII payslip data.
public required PayslipNonPii PayslipNonPii { get; set; }Returns: Verifiabl.Client.PayslipNonPii
EncryptionMetadata
Section titled “EncryptionMetadata”Property
Decryption metadata from Verifiabl.VerifiablCrypto.EncryptPii(System.String,System.Byte[]).
public required EncryptionMetadata EncryptionMetadata { get; set; }Returns: Verifiabl.EncryptionMetadata
EncryptedPii
Section titled “EncryptedPii”Property
AES-256-GCM ciphertext bytes of the formatted PII plaintext.
public required byte[] EncryptedPii { get; set; }Returns: System.Byte[]
RegisterAndBuildBarcodeResponse
Section titled “RegisterAndBuildBarcodeResponse”Class in Verifiabl.Client
public sealed class RegisterAndBuildBarcodeResponseInheritance: System.Object
VerifiablReference
Section titled “VerifiablReference”Property
22-character base64url Verifiabl reference embedded in the returned barcode.
public string VerifiablReference { get; }Returns: System.String
Barcode
Section titled “Barcode”Property
The server-generated barcode image.
public BarcodeImage Barcode { get; }Returns: Verifiabl.Client.BarcodeImage
RegisterNonPiiBatchResponse
Section titled “RegisterNonPiiBatchResponse”Class in Verifiabl.Client
public sealed class RegisterNonPiiBatchResponseInheritance: System.Object
Results
Section titled “Results”Property
Per-record outcomes, in the same order as the submitted records.
public IReadOnlyList<BatchRecordResult> Results { get; }Returns: System.Collections.Generic.IReadOnlyList{Verifiabl.Client.BatchRecordResult}
RegisterNonPiiRequest
Section titled “RegisterNonPiiRequest”Class in Verifiabl.Client
Request for Verifiabl.Client.IVerifiablClient.RegisterNonPiiAsync(Verifiabl.Client.RegisterNonPiiRequest,System.Threading.CancellationToken). The encrypted
PII stays with you and goes into a locally generated barcode; only non-PII
data and decryption metadata are sent.
public sealed class RegisterNonPiiRequestInheritance: System.Object
VerifiablReference
Section titled “VerifiablReference”Property
Optional provider-generated Verifiabl reference (from
Verifiabl.VerifiablReference.Generate). When unset, the SDK
generates one per call. Sending the reference makes registration
idempotent: resending identical data under the same reference returns
the stored record instead of creating a duplicate, which is what lets
the SDK retry ambiguous failures safely.
public string? VerifiablReference { get; set; }Returns: System.String
Schema
Section titled “Schema”Property
Non-PII payslip schema identifier, e.g. “au.payslip.v2”. This does not select a PII format.
public required string Schema { get; set; }Returns: System.String
IssuedAt
Section titled “IssuedAt”Property
When the payslip was issued. Sent to the API as an ISO 8601 UTC timestamp; values with an offset are converted to UTC first.
public required DateTimeOffset IssuedAt { get; set; }Returns: System.DateTimeOffset
PayslipNonPii
Section titled “PayslipNonPii”Property
Non-PII payslip data.
public required PayslipNonPii PayslipNonPii { get; set; }Returns: Verifiabl.Client.PayslipNonPii
EncryptionMetadata
Section titled “EncryptionMetadata”Property
Decryption metadata from Verifiabl.VerifiablCrypto.EncryptPii(System.String,System.Byte[]).
public required EncryptionMetadata EncryptionMetadata { get; set; }Returns: Verifiabl.EncryptionMetadata
RegisterNonPiiResponse
Section titled “RegisterNonPiiResponse”Class in Verifiabl.Client
Response from Verifiabl.Client.IVerifiablClient.RegisterNonPiiAsync(Verifiabl.Client.RegisterNonPiiRequest,System.Threading.CancellationToken).
public sealed class RegisterNonPiiResponseInheritance: System.Object
VerifiablReference
Section titled “VerifiablReference”Property
22-character base64url Verifiabl reference to embed in the barcode.
public string VerifiablReference { get; }Returns: System.String
VerifiablApiException
Section titled “VerifiablApiException”Class in Verifiabl.Client
Thrown for any non-2xx Verifiabl API response. Match on Verifiabl.Client.VerifiablApiException.Code
(stable) rather than System.Exception.Message (may change).
Verifiabl.Client.VerifiablApiException.Code is Verifiabl.Client.VerifiablErrorCodes.InternalError when the
response carried no parseable Verifiabl error body (e.g. a gateway error
page); check Verifiabl.Client.VerifiablApiException.Status for the raw HTTP status in that case.
A few codes have their own derived type, currently only
Verifiabl.Client.VerifiablIvReuseException. Catching this type still covers them.
The constructors are internal, so the SDK owns the whole hierarchy.
public class VerifiablApiException : VerifiablException, ISerializableInheritance: System.Object → System.Exception → Verifiabl.VerifiablException
Implements: System.Runtime.Serialization.ISerializable
Status
Section titled “Status”Property
HTTP status code of the failed response.
public int Status { get; }Returns: System.Int32
Property
Stable machine-readable error code. See Verifiabl.Client.VerifiablErrorCodes.
public string Code { get; }Returns: System.String
Property
The parsed error body, when the response carried one.
public VerifiablErrorBody? Body { get; }Returns: Verifiabl.Client.VerifiablErrorBody
RequestId
Section titled “RequestId”Property
Request ID to quote to Verifiabl support, when the response carried one.
public string? RequestId { get; }Returns: System.String
VerifiablAuth
Section titled “VerifiablAuth”Class in Verifiabl.Client
How the client authenticates to the Verifiabl API.
Pass the OAuth2 client ID and secret issued during onboarding via
Verifiabl.Client.VerifiablAuth.ClientCredentials(System.String,System.String,System.Uri) and the client fetches, caches, and refreshes
access tokens automatically.
public abstract class VerifiablAuthInheritance: System.Object
ClientCredentials(string, string, Uri?)
Section titled “ClientCredentials(string, string, Uri?)”Method
OAuth2 client credentials issued by Verifiabl during onboarding.
public static VerifiablAuth ClientCredentials(string clientId, string clientSecret, Uri? tokenUrl = null)| Parameter | Type | Description |
|---|---|---|
clientId |
System.String |
OAuth client ID. |
clientSecret |
System.String |
OAuth client secret. Load from a secrets manager; never hard-code it. |
tokenUrl |
System.Uri |
OAuth token endpoint (default: the environment’s auth service, e.g. https://auth.verifiabl.io/oauth/token). Overrides must use a Verifiabl auth host, or localhost for local development. |
Returns: Verifiabl.Client.VerifiablAuth
VerifiablAuthException
Section titled “VerifiablAuthException”Class in Verifiabl.Client
Thrown when an OAuth access token cannot be obtained. Verifiabl.Client.VerifiablAuthException.Status is
the HTTP status returned by the token endpoint, or null when the request
itself failed or the response was unparseable.
public sealed class VerifiablAuthException : VerifiablException, ISerializableInheritance: System.Object → System.Exception → Verifiabl.VerifiablException
Implements: System.Runtime.Serialization.ISerializable
Status
Section titled “Status”Property
HTTP status returned by the token endpoint, when one was received.
public int? Status { get; }Returns: System.Nullable{System.Int32}
VerifiablClient
Section titled “VerifiablClient”Class in Verifiabl.Client
Typed client for the Verifiabl issuer API.
With OAuth client credentials the client fetches, caches, and refreshes access tokens automatically; a request that fails with 401 is retried exactly once with a fresh token. The client is thread-safe and intended to be created once and reused.
Every failure an API call reports derives from Verifiabl.VerifiablException,
so one catch (VerifiablException) covers API errors, auth failures,
timeouts, and transport faults.
Depend on Verifiabl.Client.IVerifiablClient where you need to substitute a fake.
public sealed class VerifiablClient : IVerifiablClientInheritance: System.Object
Implements: Verifiabl.Client.IVerifiablClient
MaxBatchRecords
Section titled “MaxBatchRecords”Field
Maximum records per batch request. Matches the API’s limit.
public const int MaxBatchRecords = 1000Returns: System.Int32
VerifiablClient(VerifiablClientOptions)
Section titled “VerifiablClient(VerifiablClientOptions)”Constructor
Create a client. See Verifiabl.Client.VerifiablClientOptions.
public VerifiablClient(VerifiablClientOptions options)| Parameter | Type | Description |
|---|---|---|
options |
Verifiabl.Client.VerifiablClientOptions |
RegisterNonPiiAsync(RegisterNonPiiRequest, CancellationToken)
Section titled “RegisterNonPiiAsync(RegisterNonPiiRequest, CancellationToken)”Method
Register non-PII payslip data and decryption metadata. Returns the Verifiabl reference to embed in a locally generated barcode.
public Task<RegisterNonPiiResponse> RegisterNonPiiAsync(RegisterNonPiiRequest request, CancellationToken cancellationToken = default)| Parameter | Type | Description |
|---|---|---|
request |
Verifiabl.Client.RegisterNonPiiRequest |
The payslip registration. |
cancellationToken |
System.Threading.CancellationToken |
Cancels the call. |
Returns: System.Threading.Tasks.Task{Verifiabl.Client.RegisterNonPiiResponse}
Exceptions
| Type | Condition |
|---|---|
System.ArgumentException |
The request is incomplete or malformed. |
Verifiabl.Client.VerifiablIvReuseException |
The record’s encryption IV is already registered to this issuer. |
Verifiabl.Client.VerifiablApiException |
The API returned a non-2xx response. |
Verifiabl.Client.VerifiablAuthException |
An OAuth token could not be obtained. |
Verifiabl.Client.VerifiablTimeoutException |
The call exceeded the configured timeout. |
Verifiabl.Client.VerifiablTransportException |
A network fault prevented a response, or the response was not usable JSON. |
System.OperationCanceledException |
cancellationToken was cancelled. |
RegisterAndBuildBarcodeAsync(RegisterAndBuildBarcodeRequest, CancellationToken)
Section titled “RegisterAndBuildBarcodeAsync(RegisterAndBuildBarcodeRequest, CancellationToken)”Method
Register non-PII payslip data and have the API build the barcode. Sends the encrypted PII alongside the non-PII data.
public Task<RegisterAndBuildBarcodeResponse> RegisterAndBuildBarcodeAsync(RegisterAndBuildBarcodeRequest request, CancellationToken cancellationToken = default)| Parameter | Type | Description |
|---|---|---|
request |
Verifiabl.Client.RegisterAndBuildBarcodeRequest |
The payslip registration, including the ciphertext. |
cancellationToken |
System.Threading.CancellationToken |
Cancels the call. |
Returns: System.Threading.Tasks.Task{Verifiabl.Client.RegisterAndBuildBarcodeResponse}
Exceptions
| Type | Condition |
|---|---|
System.ArgumentException |
The request is incomplete or malformed. |
Verifiabl.Client.VerifiablIvReuseException |
The record’s encryption IV is already registered to this issuer. |
Verifiabl.Client.VerifiablApiException |
The API returned a non-2xx response. |
Verifiabl.Client.VerifiablAuthException |
An OAuth token could not be obtained. |
Verifiabl.Client.VerifiablTimeoutException |
The call exceeded the configured timeout. |
Verifiabl.Client.VerifiablTransportException |
A network fault prevented a response, or the response was not usable JSON. |
System.OperationCanceledException |
cancellationToken was cancelled. |
RegisterNonPiiBatchAsync(IEnumerable<BatchRecord>, CancellationToken)
Section titled “RegisterNonPiiBatchAsync(IEnumerable<BatchRecord>, CancellationToken)”Method
Register a batch of non-PII payslip records in a single request, up to
Verifiabl.Client.VerifiablClient.MaxBatchRecords records. Each record carries a
provider-generated Verifiabl reference (from
Verifiabl.VerifiablReference.Generate) and the same fields as
Verifiabl.Client.IVerifiablClient.RegisterNonPiiAsync(Verifiabl.Client.RegisterNonPiiRequest,System.Threading.CancellationToken). The response contains a per-record
result index-aligned to the input: one bad record never fails the batch.
A record whose encryption IV is already registered to this issuer, or is
repeated within this batch, comes back as an error result matched by
Verifiabl.Client.BatchRecordResult.IsIvReused.
public Task<RegisterNonPiiBatchResponse> RegisterNonPiiBatchAsync(IEnumerable<BatchRecord> records, CancellationToken cancellationToken = default)| Parameter | Type | Description |
|---|---|---|
records |
System.Collections.Generic.IEnumerable{Verifiabl.Client.BatchRecord} |
The records to register. |
cancellationToken |
System.Threading.CancellationToken |
Cancels the call. |
Returns: System.Threading.Tasks.Task{Verifiabl.Client.RegisterNonPiiBatchResponse}
Exceptions
| Type | Condition |
|---|---|
System.ArgumentNullException |
records is null. |
System.ArgumentException |
The batch is empty, oversized, or a record is malformed. |
Verifiabl.Client.VerifiablApiException |
The API returned a non-2xx response. |
Verifiabl.Client.VerifiablAuthException |
An OAuth token could not be obtained. |
Verifiabl.Client.VerifiablTimeoutException |
The call exceeded the configured timeout. |
Verifiabl.Client.VerifiablTransportException |
A network fault prevented a response, or the response was not usable JSON. |
System.OperationCanceledException |
cancellationToken was cancelled. |
VerifiablClientOptions
Section titled “VerifiablClientOptions”Class in Verifiabl.Client
Options for constructing a Verifiabl.Client.VerifiablClient.
public sealed class VerifiablClientOptionsInheritance: System.Object
Property
How to authenticate. Required. See Verifiabl.Client.VerifiablAuth.
public VerifiablAuth? Auth { get; set; }Returns: Verifiabl.Client.VerifiablAuth
Environment
Section titled “Environment”Property
API environment. Defaults to production.
public VerifiablEnvironment Environment { get; set; }Returns: Verifiabl.VerifiablEnvironment
IssuerBaseUrl
Section titled “IssuerBaseUrl”Property
Advanced local development override for issuer API calls. Most integrations
should leave this unset and use Verifiabl.Client.VerifiablClientOptions.Environment instead. Must use
https, except localhost may use http.
public Uri? IssuerBaseUrl { get; set; }Returns: System.Uri
Timeout
Section titled “Timeout”Property
Timeout applied to each API call. Defaults to 30 seconds.
public TimeSpan Timeout { get; set; }Returns: System.TimeSpan
MaxRetries
Section titled “MaxRetries”Property
Maximum automatic retries for a failed request, on top of the first attempt. Defaults to 2; set 0 to disable.
Retries use exponential backoff with jitter and honour a
Retry-After header. Calls that carry a client-generated reference
(Verifiabl.Client.IVerifiablClient.RegisterNonPiiAsync(Verifiabl.Client.RegisterNonPiiRequest,System.Threading.CancellationToken), which mints one per
call, and Verifiabl.Client.IVerifiablClient.RegisterNonPiiBatchAsync(System.Collections.Generic.IEnumerable{Verifiabl.Client.BatchRecord},System.Threading.CancellationToken))
deduplicate on the server, so they retry on throttling, timeouts, 5xx,
and network faults. Verifiabl.Client.IVerifiablClient.RegisterAndBuildBarcodeAsync(Verifiabl.Client.RegisterAndBuildBarcodeRequest,System.Threading.CancellationToken)
uses a server-minted reference that cannot deduplicate a resend, so it
retries only 429, which the API enforces before any processing. All
retries share the call Verifiabl.Client.VerifiablClientOptions.Timeout as an overall deadline.
public int MaxRetries { get; set; }Returns: System.Int32
HttpClient
Section titled “HttpClient”Property
The System.Net.Http.HttpClient to send requests with; the SDK
never disposes it. When unset, a shared internal client is used. The SDK
manages its own per-request timeouts, so the supplied client’s Timeout
should be left at its default or set to infinite.
The Verifiabl.Issuer.Extensions.DependencyInjection package wires this to IHttpClientFactory for you.
public HttpClient? HttpClient { get; set; }Returns: System.Net.Http.HttpClient
OnRequest
Section titled “OnRequest”Property
Called before each Verifiabl API request. Bodies are not included.
public Action<VerifiablRequestEvent>? OnRequest { get; set; }Returns: System.Action{Verifiabl.Client.VerifiablRequestEvent}
OnResponse
Section titled “OnResponse”Property
Called after each Verifiabl API response. Bodies are not included.
public Action<VerifiablResponseEvent>? OnResponse { get; set; }Returns: System.Action{Verifiabl.Client.VerifiablResponseEvent}
OnError
Section titled “OnError”Property
Called when an issuer API request fails before receiving a response.
public Action<VerifiablErrorEvent>? OnError { get; set; }Returns: System.Action{Verifiabl.Client.VerifiablErrorEvent}
VerifiablErrorBody
Section titled “VerifiablErrorBody”Class in Verifiabl.Client
Body shape of every non-2xx JSON response from the Verifiabl API.
public sealed class VerifiablErrorBodyInheritance: System.Object
Property
Human-readable error summary. May change; match on Verifiabl.Client.VerifiablErrorBody.Code instead.
public string Error { get; }Returns: System.String
Property
Stable machine-readable error code. See Verifiabl.Client.VerifiablErrorCodes.
public string Code { get; }Returns: System.String
Detail
Section titled “Detail”Property
Optional human-readable detail.
public string? Detail { get; }Returns: System.String
FieldErrors
Section titled “FieldErrors”Property
Per-field validation errors, present on validation failures. Null when the response carried none.
public IReadOnlyList<VerifiablFieldError>? FieldErrors { get; }Returns: System.Collections.Generic.IReadOnlyList{Verifiabl.Client.VerifiablFieldError}
VerifiablErrorCodes
Section titled “VerifiablErrorCodes”Class in Verifiabl.Client
Error codes the API is known to return today, for matching against
Verifiabl.Client.VerifiablApiException.Code. The API may add codes over time;
treat anything not listed here as a generic failure rather than rejecting the
response.
public static class VerifiablErrorCodesInheritance: System.Object
ValidationFailed
Section titled “ValidationFailed”Field
The request failed validation; see the exception’s field errors.
public const string ValidationFailed = "VALIDATION_FAILED"Returns: System.String
DecryptionFailed
Section titled “DecryptionFailed”Field
The ciphertext could not be decrypted with the registered key.
public const string DecryptionFailed = "DECRYPTION_FAILED"Returns: System.String
Unauthorized
Section titled “Unauthorized”Field
The request was not authenticated.
public const string Unauthorized = "UNAUTHORIZED"Returns: System.String
Forbidden
Section titled “Forbidden”Field
The authenticated caller may not perform this operation.
public const string Forbidden = "FORBIDDEN"Returns: System.String
Conflict
Section titled “Conflict”Field
The Verifiabl reference is already registered with different data. A resend of identical content is an idempotent replay and succeeds instead.
public const string Conflict = "CONFLICT"Returns: System.String
IvReused
Section titled “IvReused”Field
The record’s encryption IV is already registered to this issuer. Surfaces as
Verifiabl.Client.VerifiablIvReuseException on a single registration, and as an
error result matched by Verifiabl.Client.BatchRecordResult.IsIvReused in a batch.
public const string IvReused = "IV_REUSED"Returns: System.String
KeyVersionUnavailable
Section titled “KeyVersionUnavailable”Field
The referenced key version is not available for this provider.
public const string KeyVersionUnavailable = "KEY_VERSION_UNAVAILABLE"Returns: System.String
InternalError
Section titled “InternalError”Field
An unexpected server error, or a non-JSON error response.
public const string InternalError = "INTERNAL_ERROR"Returns: System.String
ServiceUnavailable
Section titled “ServiceUnavailable”Field
The service is temporarily unavailable.
public const string ServiceUnavailable = "SERVICE_UNAVAILABLE"Returns: System.String
VerifiablErrorEvent
Section titled “VerifiablErrorEvent”Class in Verifiabl.Client
Details of a failed issuer API request, for observability hooks.
public sealed class VerifiablErrorEvent : VerifiablRequestEventInheritance: System.Object → Verifiabl.Client.VerifiablRequestEvent
ElapsedMs
Section titled “ElapsedMs”Property
Elapsed time in milliseconds.
public double ElapsedMs { get; }Returns: System.Double
Property
The exception that failed the request.
public Exception Error { get; }Returns: System.Exception
VerifiablFieldError
Section titled “VerifiablFieldError”Class in Verifiabl.Client
A per-field validation error returned by the API.
public sealed class VerifiablFieldErrorInheritance: System.Object
Property
Dot-delimited field path, or “” when not field-specific.
public string Path { get; }Returns: System.String
Message
Section titled “Message”Property
Human-readable message for this field.
public string Message { get; }Returns: System.String
VerifiablIvReuseException
Section titled “VerifiablIvReuseException”Class in Verifiabl.Client
Thrown when a single registration is rejected because the record’s
encryption IV is already registered to your issuer. Derives from
Verifiabl.Client.VerifiablApiException with Verifiabl.Client.VerifiablApiException.Code
of Verifiabl.Client.VerifiablErrorCodes.IvReused, so an existing
catch (VerifiablApiException) still covers it.
Verifiabl.VerifiablCrypto.EncryptPii(System.String,System.Byte[]) draws a fresh IV on every call, so
this occurs when stored encryption metadata is sent again with new content.
The SDK does not re-encrypt and retry for you. Encrypt the payslip again, resend the record with the new encryption metadata, and rebuild any barcode that you rendered from the previous ciphertext. Resending the record unchanged gives the same result.
public sealed class VerifiablIvReuseException : VerifiablApiException, ISerializableInheritance: System.Object → System.Exception → Verifiabl.VerifiablException → Verifiabl.Client.VerifiablApiException
Implements: System.Runtime.Serialization.ISerializable
VerifiablRequestEvent
Section titled “VerifiablRequestEvent”Class in Verifiabl.Client
Details of an outgoing issuer API request, for observability hooks.
public class VerifiablRequestEventInheritance: System.Object
Method
Section titled “Method”Property
HTTP method. Always “POST”.
public string Method { get; }Returns: System.String
Property
Full request URL.
public string Url { get; }Returns: System.String
Property
Request path, e.g. “/v1/registerNonPII”.
public string Path { get; }Returns: System.String
VerifiablResponseEvent
Section titled “VerifiablResponseEvent”Class in Verifiabl.Client
Details of a completed issuer API response, for observability hooks.
public sealed class VerifiablResponseEvent : VerifiablRequestEventInheritance: System.Object → Verifiabl.Client.VerifiablRequestEvent
Status
Section titled “Status”Property
HTTP status code.
public int Status { get; }Returns: System.Int32
ElapsedMs
Section titled “ElapsedMs”Property
Elapsed time in milliseconds.
public double ElapsedMs { get; }Returns: System.Double
RequestId
Section titled “RequestId”Property
Request ID returned by the API, when present.
public string? RequestId { get; }Returns: System.String
VerifiablTimeoutException
Section titled “VerifiablTimeoutException”Class in Verifiabl.Client
Thrown when an API call exceeds Verifiabl.Client.VerifiablClientOptions.Timeout.
The deadline covers the whole operation: token fetch, request, the 401
refresh, and every retry with its backoff.
A cancellation you requested surfaces as System.OperationCanceledException
instead, so the two are never confused.
public sealed class VerifiablTimeoutException : VerifiablException, ISerializableInheritance: System.Object → System.Exception → Verifiabl.VerifiablException
Implements: System.Runtime.Serialization.ISerializable
Timeout
Section titled “Timeout”Property
The configured per-call timeout that was exceeded.
public TimeSpan Timeout { get; }Returns: System.TimeSpan
VerifiablTransportException
Section titled “VerifiablTransportException”Class in Verifiabl.Client
Thrown when a call never produced a usable response: a network fault (with
the underlying System.Net.Http.HttpRequestException as
System.Exception.InnerException), or a 2xx response whose body was
empty, not JSON, or not the shape this SDK version expects.
For a retryable call this is only raised once the retries are exhausted.
public sealed class VerifiablTransportException : VerifiablException, ISerializableInheritance: System.Object → System.Exception → Verifiabl.VerifiablException
Implements: System.Runtime.Serialization.ISerializable