if (!string.IsNullOrEmpty(billingAddress.PhoneNumber))
{
var cleanPhone = CommonHelper.EnsureNumericOnly(billingAddress.PhoneNumber);
orderDetails.Payer.PhoneWithType = new PhoneWithType { PhoneNumber = new Phone { NationalNumber = cleanPhone } };
}
The "no order id passed" error I found was due to mixing up sandbox/prod credentials.